framer-motion
Version:
An open source and production-ready motion library for React on the web
23 lines (22 loc) • 1.01 kB
TypeScript
import * as React from "react";
import { MotionProps } from "./types";
import { RenderComponent, MotionFeature } from "./features/types";
import { CreateVisualElement } from "../render/types";
export { MotionProps };
export interface MotionComponentConfig<E> {
defaultFeatures: MotionFeature[];
createVisualElement: CreateVisualElement<E>;
useRender: RenderComponent;
}
/**
* Create a `motion` component.
*
* This function accepts a Component argument, which can be either a string (ie "div"
* for `motion.div`), or an actual React component.
*
* Alongside this is a config option which provides a way of rendering the provided
* component "offline", or outside the React render cycle.
*
* @internal
*/
export declare function createMotionComponent<P extends {}, E>(Component: string | React.ComponentType<P>, { defaultFeatures, createVisualElement, useRender, }: MotionComponentConfig<E>): React.ForwardRefExoticComponent<React.PropsWithoutRef<P & MotionProps> & React.RefAttributes<E>>;