Skip to main content

Reflex Motion

A Reflex wrapper for Framer Motion, a production-ready motion library for React.

Reflex Motion Demo

Installation

pip install reflex-motion

Usage

Right now Reflex Motion is a simple wrapper around Framer Motion. It provides a single component, motion, which is a drop-in replacement for motion.div from Framer Motion.

motion(
    rx.button(
        "Bounce me!",
    ),
    while_hover={"scale": 1.2},
    while_tap={"scale": 0.9},
    transition={"type": "spring", "stiffness": 400, "damping": 17},
)

There are a few different props motion supports:

Props

inital: The initial state of the animation. This is the state the animation will start in when the component is first rendered.

animate: The state the animation will end in. This is the state the animation will end in when the component is first rendered.

while_hover: The state the animation will be in while the user is hovering over the component.

while_tap: The state the animation will be in while the user is tapping on the component.

while_in_view: The state the animation will be in while the component is in view.

while_focus: The state the animation will be in while the component is focused.

Animation Props

Name Key Values Description
Translate 'x', 'y', 'z' int The amount to translate the component by.
Scale 'scale', 'scale_x', 'scale_y' int The amount to scale the component by.
Rotate 'rotate', 'rotate_x', 'rotate_y', 'rotate_z' int The amount to rotate the component by.
Skew 'skew', 'skew_x', 'skew_y' int The amount to skew the component by.

Additionally you can pass in any Reflex style prop (css prop).

Transitions

transition: The transition to use when animating between states. This can be a single transition or an array of transitions.

Name Key Values Description
Type 'tpye' tween', 'spring', 'keyframes' The type of transition to use.
Easing 'ease' 'linear', 'ease_in', 'ease_out', 'ease_in_out', 'circ_in', 'circ_out', 'circ_in_out', 'back_in', 'back_out', 'back_in_out' The easing function to use for the transition.
Duration 'duration' int The duration of the transition in milliseconds.
Delay 'delay' int The delay before the transition starts in milliseconds.

Additonally you can pass in any of the Animation Props and Reflex style prop (css prop).

Examples

Transition

motion( 
    rx.button(
        "Spin me!",
        variant="soft",
    ),
    initial={"scale": 1},
    while_hover={"scale": 1.2, "rotate": 45},
    while_tap={"scale": 0.9},
    transition={"type": "spring", "stiffness": 260, "damping": 20},
)

Release files for reflex-motion 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reflex-motion 0.0.1
File Size Uploaded
reflex-motion-0.0.1.tar.gz 2.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reflex-motion 0.0.1
File Interpreter ABI Platform
reflex_motion-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.0 kB

Release files / reflex-motion-0.0.1.tar.gz

Download URL reflex-motion-0.0.1.tar.gz
Size 2.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1d404d270ae725fce8c8a2dd7c1dba4bbc4e821ac5858b25419cc27e56449e38
BLAKE2b-256 checksum
How to use checksums
8a8c85f74b9e5729448c7fc81f958f2a53d0757d31b80fcc88b13efb3c30018b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.6

Release files / reflex_motion-0.0.1-py3-none-any.whl

Download URL reflex_motion-0.0.1-py3-none-any.whl
Size 3.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c76b47920ab6d979f9e93728108d97c9da41dad3fc239493f53fba17ae43202
BLAKE2b-256 checksum
How to use checksums
4b9e5c7c2f414fd77c3c3e229a2175223f3c89c8cca05c6ebefd1bd7c2d2ab2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page