react-moving-text
v0.0.7
Published
React Component to show animated text and objects, built with [styled-components](https://www.styled-components.com/).
Downloads
1,527
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-text
Usage
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>
)
}