npm install framer-controller
👉 Click here to download an example project with demos for each controller.
The framer-controller
library provides tools for managing state in Framer X
overrides.
The library includes Controller
, a class that provides an interface for
setting the values of a Framer X Data
object. As in React classes, the
controller's setState
method will merge the provided values into the
controller's state. Because the Controller
's state is stored in a Data
object, changing its state will refresh overrides with the new values.
Controlled state simplifies many things that would otherwise take plenty of
boilerplate. For example, Controller
now supports a simple animate
method
that works with animejs
, animating props and setting
state automatically.
While Controller
might already be a useful pattern, the class is really just a
starting point for building more task- and component-specific controllers. By
extending Controller
, a designer can create an interface of methods related to
a certain component or state management pattern.
The library comes with several such controllers:
The library also includes controllers for Framer X's Page and Scroll components.
As of Framer X v24, overrides can also include React hooks. Newer versions of this library will replace the controllers above with more efficient hooks-based controllers. As a preview, see:
The easiest way to install framer-controller
is to install the
Framer Controller package
from the Framer X Store. Installing the package will also install this library.
To install manually, run npm install framer-controller
from your project's
Project Folder.
framer-controller
.See each controller's documentation for information on how to use the controller and examples.
For help creating your own controllers, see the Build Your Own section.
Made with ✨by @steveruizok