react-moving-text
v0.0.7
Published
React Component to show animated text and objects, built with [styled-components](https://www.styled-components.com/).
Readme
react-moving-text
React Component to show animated text and objects, built with styled-components.
The Component provides regular animation for common object and some animation effects especially for typography like letters and multi-line text.
View Demo and Playground
Installation
Install via npm:
npm i react-moving-textUsage
To use react-moving-text in your react project, wrap the content with a MovingText component and customize the animation with relevant properties.
import React from 'react'
import MovingText from 'react-moving-text'
const MyAnimatedTypo = () => {
return (
<MovingText
type="animation_type"
duration="1000ms"
delay="0s"
direction="normal"
timing="ease"
iteration="infinite"
fillMode="none">
Content...
</MovingText>
)
}Available properties
| Property | Corresponding Animation Property | Data Type | Default Value | Property Unit |
| :---------: | :------------------------------: | :---------------: | :------------: | :-----------: |
| type | animation-name | String | "blur" | - |
| duration | animation-duration | String | "1s" | s or ms |
| delay | animation-delay | String | "0s" | s or ms |
| direction | animation-direction | String | "alternate" | - |
| timing | animation-timing-function | String | "ease" | - |
| iteration | animation-iteration-count | Number String | "infinite" | - |
| fillMode | animation-fill-mode | String | "none" | - |
| | | | | |
Available animations
| type / Animation name |
| ----------------------- |
| blur |
| fadeIn |
| fadeOut |
| hang |
| hangOnLeft |
| hangOnRight |
| swing |
| glowing |
| shakeMix |
| shakeHorizontal |
| shakeVertical |
| spin |
| bounce |
| flipCenterToRight |
| flipFromLeftToCenter |
| flash |
| pulse |
| jelly |
| squeezeHorizontal |
| squeezeVertical |
| flipHorizontal |
| flipVertical |
| |
| |
| |
| |
| |
| |
| |
Chain Animation
An string-arry of animation names is used to wrap the animations you want to chain.
import React, { useState } from 'react'
import MovingText from 'react-moving-text'
const AnimationsForChaining = ["swing", "flipSlowDown", "fadeOutToBottom", "jelly"]
const AnimationChain = () => {
const [ animationIndex, setAnimationIndex ] = useState(0)
const [ animationType, setAnimationType ] = useState(AnimationsForChaining[0])
const handleChainAnimation = () => {
setCounter(animationIndex+1)
setAnimationType(selectedItems[animationIndex+1])
}
return (
<MovingText
onAnimationEnd={handleChainAnimation}
type={animationType}
duration="1000ms"
timing="linear"
iteration={1}>
MovingText
</MovingText>
)
}