npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rc-tween-one

v3.0.6

Published

tween-one anim component for react

Downloads

93,528

Readme

rc-tween-one


React TweenOne Component

NPM version build status Codecov node version npm download

Browser Support

|IE | Chrome | Firefox | Opera | Safari| | --- | --- | --- | --- | --- | | IE 10+ ✔ | Chrome 31.0+ ✔ | Firefox 31.0+ ✔ | Opera 30.0+ ✔ | Safari 7.0+ ✔ |

Development

npm install
npm start

Example

http://localhost:8100/examples/

2.x: http://react-component.github.io/tween-one/

3.x: https://tween-one.vercel.app/

install

rc-tween-one

Usage

var TweenOne = require('rc-tween-one');
var React = require('react');
React.render(<TweenOne animation={{x:100}}>
  demo
</TweenOne>, container);

Plugin

var TweenOne = require('rc-tween-one');
var React = require('react');
var SvgDrawPlugin = require('rc-tween-one/lib/plugin/SvgDrawPlugin');
TweenOne.plugins.push(SvgDrawPlugin);
React.render(<svg width="600" height="600">
  <TweenOne 
    animation={{ SVGDraw:'50%'}}
    d="M0,0L100,0"
    style={{ fill: 'none', strokeWidth: 20, stroke: '#00000' }}
    component="path"
  />
</svg>, container);

TweenOneGroup

var TweenOne = require('rc-tween-one');
var React = require('react');
var TweenOneGroup = TweenOne.TweenOneGroup;
React.render(<TweenOneGroup>
  <div key="0">demo</div>
  <div key="1">demo</div>
</TweenOneGroup>, container);

API

中文文档

props

| name | type | default | description | |------------|----------------|---------|----------------| | animation | object / array | null | animate configure parameters | | paused | boolean | false | animate timeline pause | | reverse | boolean | false | animate timeline revers | | delay | number | 0 | animate timeline delay |
| repeat | number | 0 | animation all data repeat, To repeat indefinitely, use -1 | | repeatDelay | number | 0 | animate timeline repeat delay | | yoyo | boolean | false | animation all data alternating backward and forward on each repeat. | | onChange | func | null | when the animation change called, callback({ moment, targets, index, mode, ratio, vars, index, repeat }) | | onChangeTimeline | func | null | when the animation change called, callback({ mode, targets, vars, moment, totalTime, repeat }) | | moment | number | null | set the current frame | | regionStartTime | number | 0 | Set the start time of the animation region | | regionEndTime | number | null | Set the end time of the animation region | | attr | boolean | false | attribute animation is true, when morph SVG must be true. | | resetStyle | boolean | false | update animation data, reset init style | | component | string / React.Element | div | component tag | | componentProps | object | null | component is React.Element, component tag props, not add style |

animation = { }

Basic animation param. please view animation terms

| name | type | default | description | |------------|----------------|---------|----------------| | [key: string] | string number array | null | All variables based on number, such as left, x, color, shadow | | type | string | to | play type: to from set| | duration | number | 450 | animate duration | | delay | number | 0 | animate delay | | repeat | number | 0 | animate repeat, To repeat indefinitely, use -1 | | repeatDelay| number | 0 | repeat start delay | | appearTo | number | null | Add to the specified time | | yoyo | boolean | false | true: alternating backward and forward on each repeat. | | ease | string | easeInOutQuad | animate ease refer or svg path M0,100 C30,60 0,20 50,50 C70,70 60,0 100,0 | | bezier | object | null | bezier curve animate | | onStart | func | null | A function that should be called when the tween begins, callback(e), e: { index, target } | | onUpdate | func | null | A function that should be called every time the animate updates, callback(e), e: { index, targets, ratio } | | onComplete | func | null | A function that should be called when the animate has completed, callback(e), e: { index, targets } | | onRepeat | func | null | A function that should be called each time the animate repeats, callback(e), e: { index, targets } |

Cannot be used at the same time reverse and repeat: -1.

animation =[ ] is timeline

<TweenOne animation={[{ x: 100 }, { y: 100 }]} />

Plugins

SvgDrawPlugin

import { Plugins } from 'rc-tween-one';
import SvgDrawPlugin from 'rc-tween-one/es/plugin/SvgDrawPlugin';
Plugins.push(SvgDrawPlugin);

<TweenOne animation={{ SVGDraw: '10%' }} />

SVGDraw = string or number;

{ SVGDraw: 30 } or { SVGDraw: 'start end' } start and end values can be %;

SvgMorphPlugin

import { Plugins } from 'rc-tween-one';
import SvgMorphPlugin from 'rc-tween-one/es/plugin/SvgMorphPlugin';
Plugins.push(SvgMorphPlugin);

<TweenOne animation={{ SVGMorph: { path: '300,10 500,200 120,230 450,220 0,20' }}} />

SvgMorphPlugin API

| name | type | default | description | |------------------|--------|---------|----------------| | path | string | null | svg path, ref: M0,0L100,0;| | attr | string | null | Svg tag attributes, example: polygon is points, path is d. | | maxSegmentLength | number | 0.5 | The lower the value, the smoother the generated animation will be, but at the expense of performance;|

PathPlugin

import { Plugins } from 'rc-tween-one';
import PathMotionPlugin from 'rc-tween-one/es/plugin/PathMotionPlugin';
Plugins.push(PathMotionPlugin);

<TweenOne animation={{ PathMotion: { path: '300,10 500,200 120,230 450,220 0,20' }}} />

PathMotion API

| name | type | default | description | | ------ | ------------------- | --------------- | ----------------------------- | | path | string / {x,y}[] | null | svg path, ref: M0,0L100,0; | | pathVars | IPathVars | null | Only valid if path is array [{x, y}, {x, y}] | | center | number \ string[] | ['50%','50%'] | center point, ref: [50px, 50px]; | | x | boolean | true | x follow the path. | | y | boolean | true | y follow the path. | | rotate | boolean | true | rotate follow the path. |

IPathVars

| name | type | default | description | | ------ | ------------------- | --------------- | ----------------------------- | | type | thru \ soft \ cubic | thru | path type. thru same as the path; soft with the curve of attraction facing them, but not through the point; cubic allows you to define standard Cubic Bezier, example: [start, control, control, end]. | | curviness | 0-2 | 1 | This determines how "curvy" the resulting path is. 0 is lines, 1 is curved path, 2 would make it much more curvy. It can be 1.5. | | relative | boolean | false | Increase relative to current value. example: if the target's x starts at 100 and the path is [{x:5}, {x:10}, {x:-2}] , it would first move to 105, then 115, and finally end at 113. |

ChildrenPlugin

Children = { value:, floatLength, formatMoney };

| name | type | default | description | |---|---|---|---| | value | number | null | children number to value. | | floatLength | number | null | float precision length | | formatMoney | true \ { thousand, decimal } | null | format number to money. |

formatMoney = { thousand, decimal }

| name | type | default | description | |---|---|---|---| | thousand | string | , | no explanation. | | decimal | string | . | no explanation. |

TweenOneGroup

| name | type | default | description | |------------|----------------|---------|----------------| | appear | boolean | true | whether support appear anim | | enter | object / array / func | { x: 30, opacity: 0, type: 'from' } | enter anim twee-one data. when array is tween-one timeline, func refer to queue-anim | | leave | object / array / func | { x: 30, opacity: 0 } | leave anim twee-one data. when array is tween-one timeline, func refer to queue-anim | | onEnd | func | - | one animation end callback | | animatingClassName | array | ['tween-one-entering', 'tween-one-leaving'] | className to every element of animating | | resetStyle | boolean | true | TweenOne resetStyle, reset the initial style when changing animation. | | exclusive | boolean | false | Whether to allow a new animate to execute immediately when switching. enter => leave: execute immediately leave | | component | React.Element/String | div | component tag | | componentProps | object | - | component tag props |