This repository documents advanced features not covered in the official Developer documentation from Framer. It's a curated list of function in use in Framer discovered by the Community. These discoveries open the development of more advanced components and overrides. As additional documentation, it doesn't cover the basics and suppose you are already aware of it. If you are not, you can refer to the Further Reading section to learn more about Framer and React developement.
Below is a list of gems discovered by the community that have been discussed in the forum (💬) or documented here (📝).
-
📝 ControlType.Cursor
Use the the Cursor Panel to select default CSS cursor -
📝 ControlType.Font
Use the Font Picker as a control. -
📝 ControlType.Object
Customize the Object Control by adding icons or making it optional. -
📝 ControlType.ResponsiveImage
Use the Responsive Image setup. -
📝 Custom Enum Icons
Display icons in the Enum property controls instead of strings. -
📝 getPropertyControls
Get the property controls from a component and re-use them as you wish.
-
📝 useCurrentLocation
Built on top of the useRouter hook, the useCurrentLocation hook allows you to get and set the current location. -
📝 useFormValue
The useFormValue hook lets you read and write data from a Typer form. -
📝 useIsOnFramerCanvas
The useIsOnFramerCanvas hook lets you know where Framer renders the component. -
📝 useLocaleInfo
The useLocaleInfo hook provides information about the active locale and the current locales available in your Framer project. -
📝 useStore
The useStore hook allows you to share data between Code Components or Code Overrides across the website.
-
📝 @framerDisableUnlink
Disable the Code Edition of your Component. -
📝 Extract CMS Data
You can export your collections as a JSON file. -
📝 Handshake
Export your Design Component in a Next.js Project. -
💬 Choose your package version
On Framer, you can choose your package version by using esm.sh.
Some helpful guides to learn React × Framer development.
Feel free to contribute to this documentation by sharing or documenting your discoveries. You can add one by submitting a pull request or tag me (@Victorien) in the related discussion from the Framer Forum. Thanks to all Framer members for their contribution ❤️.