You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.3 KiB
65 lines
2.3 KiB
import React from 'react';
|
|
declare const STATUS_NONE: "none";
|
|
declare const STATUS_APPEAR: "appear";
|
|
declare const STATUS_ENTER: "enter";
|
|
declare const STATUS_LEAVE: "leave";
|
|
export declare type MotionStatus = typeof STATUS_NONE | typeof STATUS_APPEAR | typeof STATUS_ENTER | typeof STATUS_LEAVE;
|
|
export declare type CSSMotionConfig = boolean | {
|
|
transitionSupport?: boolean;
|
|
forwardRef?: boolean;
|
|
};
|
|
export declare type MotionEvent = (TransitionEvent | AnimationEvent) & {
|
|
deadline?: boolean;
|
|
};
|
|
export declare type MotionEventHandler = (element: HTMLElement, event: MotionEvent) => React.CSSProperties | void;
|
|
export declare type MotionEndEventHandler = (element: HTMLElement, event: MotionEvent) => boolean | void;
|
|
export declare type MotionName = string | {
|
|
appear?: string;
|
|
enter?: string;
|
|
leave?: string;
|
|
appearActive?: string;
|
|
enterActive?: string;
|
|
leaveActive?: string;
|
|
};
|
|
export interface CSSMotionProps {
|
|
motionName?: MotionName;
|
|
visible?: boolean;
|
|
motionAppear?: boolean;
|
|
motionEnter?: boolean;
|
|
motionLeave?: boolean;
|
|
motionLeaveImmediately?: boolean;
|
|
motionDeadline?: number;
|
|
removeOnLeave?: boolean;
|
|
leavedClassName?: string;
|
|
eventProps?: object;
|
|
onAppearStart?: MotionEventHandler;
|
|
onEnterStart?: MotionEventHandler;
|
|
onLeaveStart?: MotionEventHandler;
|
|
onAppearActive?: MotionEventHandler;
|
|
onEnterActive?: MotionEventHandler;
|
|
onLeaveActive?: MotionEventHandler;
|
|
onAppearEnd?: MotionEndEventHandler;
|
|
onEnterEnd?: MotionEndEventHandler;
|
|
onLeaveEnd?: MotionEndEventHandler;
|
|
internalRef?: React.Ref<any>;
|
|
children?: (props: {
|
|
className?: string;
|
|
style?: React.CSSProperties;
|
|
[key: string]: any;
|
|
}, ref: (node: any) => void) => React.ReactNode;
|
|
}
|
|
export interface CSSMotionState {
|
|
status?: MotionStatus;
|
|
statusActive?: boolean;
|
|
newStatus?: boolean;
|
|
statusStyle?: React.CSSProperties;
|
|
prevProps?: CSSMotionProps;
|
|
}
|
|
/**
|
|
* `transitionSupport` is used for none transition test case.
|
|
* Default we use browser transition event support check.
|
|
*/
|
|
export declare function genCSSMotion(config: CSSMotionConfig): React.ForwardRefExoticComponent<CSSMotionProps>;
|
|
declare const _default: React.ForwardRefExoticComponent<CSSMotionProps>;
|
|
export default _default;
|