Skip to content
A fork of React-Motion to be used with Preact
JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
demos
src
test
.babelrc
.eslintignore
.eslintrc
.flowconfig
.gitignore
.npmignore
.travis.yml
AUTHORS
CHANGELOG.md
LICENSE
README.md
build-demos.bash
build.bash
karma.conf.js
package.json
rollup.config.js
yarn.lock

README.md

Deprecation warning

Most of the changes are now present in react-motion. Just use preact-compat and everything should work out of the box. This module won't be maintained anymore.

Preact-Motion

Build Status

This is a fork of the well known React-Motion library customized to support Preact out of the box.

Please see the React-Motion documentation for usage instructions.

About this fork

Goals

  • Be compatible out of the box with Preact 8 and upper. No preact-compat requirement. No react dependency.

  • Stay as close as possible to React-Motion, including:

    • same API ;
    • same developpers tools (flow, prop-types) ;
    • same tests and demos.
  • Better, smaller packaging:

    • expose a jsnext:main entry point ;
    • use Rollup to provide smaller packages ;
    • other tweaks to make production bundles smaller.

Versioning

Due to semver limitations, this package won't follow the React-Motion versioning, so it can make major version bumps without waiting for a major version bump upstream. See CHANGELOG.md for informations about supported React-Motion version.

Bundle size

The current production-ready bundle is about 4KB (minified+gzip). This has been achieved by using Rollup instead of Webpack, and removing prop-types declarations and dependency.

Install

  • Npm: npm install --save preact-motion

The NPM package requires process.env.NODE_ENV to be defined, so you should look at stuff like webpack DefinePlugin or rollup-plugin-replace to be able to use it in a browser.

  • 1998 Script Tag:
<script src="https://unpkg.com/preact-motion/build/preact-motion.prod.js"></script>
(Module exposed as `PreactMotion`)

Demos

You can’t perform that action at this time.