framer-motion
Version:
An open source and production-ready motion library for React on the web
63 lines (62 loc) • 1.53 kB
TypeScript
import * as React from "react";
import { MotionFeature } from "../features/types";
import { TransformPoint2D } from "../../types/geometry";
import { Transition } from "../../types";
/**
* @public
*/
export interface MotionConfigContext {
/**
* @internal
*/
transformPagePoint: TransformPoint2D;
/**
* An array of features to provide to children.
*
* @public
*/
features: MotionFeature[];
/**
* Determines whether this is a static context ie the Framer canvas. If so,
* it'll disable all dynamic functionality.
*
* @internal
*/
isStatic: boolean;
/**
* Defines a new default transition for the entire tree.
*
* @public
*/
transition?: Transition;
}
export interface MotionConfigProps extends Partial<MotionConfigContext> {
children?: React.ReactNode;
}
/**
* @public
*/
export declare const MotionConfigContext: React.Context<MotionConfigContext>;
/**
* MotionConfig can be used in combination with the `m` component to cut bundle size
* and dynamically load only the features you use.
*
* ```jsx
* import {
* m as motion,
* AnimationFeature,
* MotionConfig
* } from "framer-motion"
*
* export function App() {
* return (
* <MotionConfig features={[AnimationFeature]}>
* <motion.div animate={{ x: 100 }} />
* </MotionConfig>
* )
* }
* ```
*
* @public
*/
export declare function MotionConfig({ children, features, transition, ...props }: MotionConfigProps): JSX.Element;