Repository: dielduarte/animate-css-styled-components
Branch: main
Commit: 0878c64705ad
Files: 351
Total size: 613.9 KB
Directory structure:
gitextract_asruynvu/
├── .babelrc
├── .gitignore
├── .npmignore
├── .nvmrc
├── .storybook/
│ ├── addons.js
│ └── config.js
├── .travis.yml
├── Example/
│ ├── Card.js
│ ├── FullView.js
│ └── utils/
│ └── styles.js
├── README.md
├── docs/
│ └── specific-animations/
│ └── README.md
├── package.json
├── src/
│ ├── Animate/
│ │ ├── StackAnimates.js
│ │ ├── Utils.js
│ │ └── index.js
│ ├── Attention/
│ │ ├── Flash.js
│ │ ├── Flash.spec.js
│ │ ├── HeadShake.js
│ │ ├── HeadShake.spec.js
│ │ ├── Jello.js
│ │ ├── Jello.spec.js
│ │ ├── Pulse.js
│ │ ├── Pulse.spec.js
│ │ ├── RubberBand.js
│ │ ├── RubberBand.spec.js
│ │ ├── Shake.js
│ │ ├── Shake.spec.js
│ │ ├── Swing.js
│ │ ├── Swing.spec.js
│ │ ├── Tada.js
│ │ ├── Tada.spec.js
│ │ ├── Wobble.js
│ │ ├── Wobble.spec.js
│ │ └── __snapshots__/
│ │ ├── Flash.spec.js.snap
│ │ ├── HeadShake.spec.js.snap
│ │ ├── Jello.spec.js.snap
│ │ ├── Pulse.spec.js.snap
│ │ ├── RubberBand.spec.js.snap
│ │ ├── Shake.spec.js.snap
│ │ ├── Swing.spec.js.snap
│ │ ├── Tada.spec.js.snap
│ │ └── Wobble.spec.js.snap
│ ├── BaseAnimation.js
│ ├── BaseAnimation.spec.js
│ ├── Bounce/
│ │ ├── In.js
│ │ ├── In.spec.js
│ │ ├── InDown.js
│ │ ├── InDown.spec.js
│ │ ├── InLeft.js
│ │ ├── InLeft.spec.js
│ │ ├── InRight.js
│ │ ├── InRight.spec.js
│ │ ├── InUp.js
│ │ ├── InUp.spec.js
│ │ ├── Out.js
│ │ ├── Out.spec.js
│ │ ├── OutDown.js
│ │ ├── OutDown.spec.js
│ │ ├── OutLeft.js
│ │ ├── OutLeft.spec.js
│ │ ├── OutRight.js
│ │ ├── OutRight.spec.js
│ │ ├── OutUp.js
│ │ ├── OutUp.spec.js
│ │ ├── __snapshots__/
│ │ │ ├── In.spec.js.snap
│ │ │ ├── Out.spec.js.snap
│ │ │ ├── OutDown.spec.js.snap
│ │ │ ├── OutLeft.spec.js.snap
│ │ │ ├── OutRight.spec.js.snap
│ │ │ ├── OutUp.spec.js.snap
│ │ │ ├── inDown.spec.js.snap
│ │ │ ├── inLeft.spec.js.snap
│ │ │ ├── inRight.spec.js.snap
│ │ │ ├── inUp.spec.js.snap
│ │ │ └── index.spec.js.snap
│ │ ├── index.js
│ │ └── index.spec.js
│ ├── Especials/
│ │ ├── Hinge.js
│ │ ├── Hinge.spec.js
│ │ ├── RollIn.js
│ │ ├── RollIn.spec.js
│ │ ├── RollOut.js
│ │ ├── RollOut.spec.js
│ │ └── __snapshots__/
│ │ ├── Hinge.spec.js.snap
│ │ ├── RollIn.spec.js.snap
│ │ └── RollOut.spec.js.snap
│ ├── Fade/
│ │ ├── In.js
│ │ ├── In.spec.js
│ │ ├── InDown.js
│ │ ├── InDown.spec.js
│ │ ├── InDownBig.js
│ │ ├── InDownBig.spec.js
│ │ ├── InLeft.js
│ │ ├── InLeft.spec.js
│ │ ├── InLeftBig.js
│ │ ├── InLeftBig.spec.js
│ │ ├── InRight.js
│ │ ├── InRight.spec.js
│ │ ├── InRightBig.js
│ │ ├── InRightBig.spec.js
│ │ ├── InUp.js
│ │ ├── InUp.spec.js
│ │ ├── InUpBig.js
│ │ ├── InUpBig.spec.js
│ │ ├── Out.js
│ │ ├── Out.spec.js
│ │ ├── OutDown.js
│ │ ├── OutDown.spec.js
│ │ ├── OutDownBig.js
│ │ ├── OutDownBig.spec.js
│ │ ├── OutLeft.js
│ │ ├── OutLeft.spec.js
│ │ ├── OutLeftBig.js
│ │ ├── OutLeftBig.spec.js
│ │ ├── OutRight.js
│ │ ├── OutRight.spec.js
│ │ ├── OutRightBig.js
│ │ ├── OutRightBig.spec.js
│ │ ├── OutUp.js
│ │ ├── OutUp.spec.js
│ │ ├── OutUpBig.js
│ │ ├── OutUpBig.spec.js
│ │ └── __snapshots__/
│ │ ├── In.spec.js.snap
│ │ ├── InDown.spec.js.snap
│ │ ├── InDownBig.spec.js.snap
│ │ ├── InLeft.spec.js.snap
│ │ ├── InLeftBig.spec.js.snap
│ │ ├── InRight.spec.js.snap
│ │ ├── InRightBig.spec.js.snap
│ │ ├── InUp.spec.js.snap
│ │ ├── InUpBig.spec.js.snap
│ │ ├── Out.spec.js.snap
│ │ ├── OutDown.spec.js.snap
│ │ ├── OutDownBig.spec.js.snap
│ │ ├── OutLeft.spec.js.snap
│ │ ├── OutLeftBig.spec.js.snap
│ │ ├── OutRight.spec.js.snap
│ │ ├── OutRightBig.spec.js.snap
│ │ ├── OutUp.spec.js.snap
│ │ └── OutUpBig.spec.js.snap
│ ├── Flip/
│ │ ├── InX.js
│ │ ├── InX.spec.js
│ │ ├── InY.js
│ │ ├── InY.spec.js
│ │ ├── OutX.js
│ │ ├── OutX.spec.js
│ │ ├── OutY.js
│ │ ├── OutY.spec.js
│ │ ├── __snapshots__/
│ │ │ ├── InX.spec.js.snap
│ │ │ ├── InY.spec.js.snap
│ │ │ ├── OutX.spec.js.snap
│ │ │ ├── OutY.spec.js.snap
│ │ │ └── index.spec.js.snap
│ │ ├── index.js
│ │ └── index.spec.js
│ ├── LightSpeed/
│ │ ├── In.js
│ │ ├── In.spec.js
│ │ ├── Out.js
│ │ ├── Out.spec.js
│ │ └── __snapshots__/
│ │ ├── In.spec.js.snap
│ │ └── Out.spec.js.snap
│ ├── Rotate/
│ │ ├── In.js
│ │ ├── In.spec.js
│ │ ├── InDownLeft.js
│ │ ├── InDownLeft.spec.js
│ │ ├── InDownRight.js
│ │ ├── InDownRight.spec.js
│ │ ├── InUpLeft.js
│ │ ├── InUpLeft.spec.js
│ │ ├── InUpRight.js
│ │ ├── InUpRight.spec.js
│ │ ├── Out.js
│ │ ├── Out.spec.js
│ │ ├── OutDownLeft.js
│ │ ├── OutDownLeft.spec.js
│ │ ├── OutDownRight.js
│ │ ├── OutDownRight.spec.js
│ │ ├── OutUpLeft.js
│ │ ├── OutUpLeft.spec.js
│ │ ├── OutUpRight.js
│ │ ├── OutUpRight.spec.js
│ │ └── __snapshots__/
│ │ ├── In.spec.js.snap
│ │ ├── InDownLeft.spec.js.snap
│ │ ├── InDownRight.spec.js.snap
│ │ ├── InUpLeft.spec.js.snap
│ │ ├── InUpRight.spec.js.snap
│ │ ├── Out.spec.js.snap
│ │ ├── OutDownLeft.spec.js.snap
│ │ ├── OutDownRight.spec.js.snap
│ │ ├── OutUpLeft.spec.js.snap
│ │ └── OutUpRight.spec.js.snap
│ ├── Slide/
│ │ ├── InDown.js
│ │ ├── InDown.spec.js
│ │ ├── InLeft.js
│ │ ├── InLeft.spec.js
│ │ ├── InRight.js
│ │ ├── InRight.spec.js
│ │ ├── InUp.js
│ │ ├── InUp.spec.js
│ │ ├── OutDown.js
│ │ ├── OutDown.spec.js
│ │ ├── OutLeft.js
│ │ ├── OutLeft.spec.js
│ │ ├── OutRight.js
│ │ ├── OutRight.spec.js
│ │ ├── OutUp.js
│ │ ├── OutUp.spec.js
│ │ └── __snapshots__/
│ │ ├── InDown.spec.js.snap
│ │ ├── InLeft.spec.js.snap
│ │ ├── InRight.spec.js.snap
│ │ ├── InUp.spec.js.snap
│ │ ├── OutDown.spec.js.snap
│ │ ├── OutLeft.spec.js.snap
│ │ ├── OutRight.spec.js.snap
│ │ └── OutUp.spec.js.snap
│ ├── Zoom/
│ │ ├── In.js
│ │ ├── In.spec.js
│ │ ├── InDown.js
│ │ ├── InDown.spec.js
│ │ ├── InLeft.js
│ │ ├── InLeft.spec.js
│ │ ├── InRight.js
│ │ ├── InRight.spec.js
│ │ ├── InUp.js
│ │ ├── InUp.spec.js
│ │ ├── Out.js
│ │ ├── Out.spec.js
│ │ ├── OutDown.js
│ │ ├── OutDown.spec.js
│ │ ├── OutLeft.js
│ │ ├── OutLeft.spec.js
│ │ ├── OutRight.js
│ │ ├── OutRight.spec.js
│ │ ├── OutUp.js
│ │ ├── OutUp.spec.js
│ │ └── __snapshots__/
│ │ ├── In.spec.js.snap
│ │ ├── InDown.spec.js.snap
│ │ ├── InLeft.spec.js.snap
│ │ ├── InRight.spec.js.snap
│ │ ├── InUp.spec.js.snap
│ │ ├── Out.spec.js.snap
│ │ ├── OutDown.spec.js.snap
│ │ ├── OutLeft.spec.js.snap
│ │ ├── OutRight.spec.js.snap
│ │ └── OutUp.spec.js.snap
│ ├── __snapshots__/
│ │ └── BaseAnimation.spec.js.snap
│ ├── index.js
│ └── lcov-report/
│ ├── base.css
│ ├── index.html
│ ├── prettify.css
│ ├── prettify.js
│ ├── sorter.js
│ └── src/
│ ├── Attention/
│ │ ├── Flash.js.html
│ │ ├── HeadShake.js.html
│ │ ├── Jello.js.html
│ │ ├── Pulse.js.html
│ │ ├── RubberBand.js.html
│ │ ├── Shake.js.html
│ │ ├── Swing.js.html
│ │ ├── Tada.js.html
│ │ ├── Wobble.js.html
│ │ └── index.html
│ ├── BaseAnimation.js.html
│ ├── Bounce/
│ │ ├── In.js.html
│ │ ├── InDown.js.html
│ │ ├── InLeft.js.html
│ │ ├── InRight.js.html
│ │ ├── InUp.js.html
│ │ ├── Out.js.html
│ │ ├── OutDown.js.html
│ │ ├── OutLeft.js.html
│ │ ├── OutRight.js.html
│ │ ├── OutUp.js.html
│ │ ├── index.html
│ │ └── index.js.html
│ ├── Especials/
│ │ ├── Hinge.js.html
│ │ ├── RollIn.js.html
│ │ ├── RollOut.js.html
│ │ └── index.html
│ ├── Fade/
│ │ ├── In.js.html
│ │ ├── InDown.js.html
│ │ ├── InDownBig.js.html
│ │ ├── InLeft.js.html
│ │ ├── InLeftBig.js.html
│ │ ├── InRight.js.html
│ │ ├── InRightBig.js.html
│ │ ├── InUp.js.html
│ │ ├── InUpBig.js.html
│ │ ├── Out.js.html
│ │ ├── OutDown.js.html
│ │ ├── OutDownBig.js.html
│ │ ├── OutLeft.js.html
│ │ ├── OutLeftBig.js.html
│ │ ├── OutRight.js.html
│ │ ├── OutRightBig.js.html
│ │ ├── OutUp.js.html
│ │ ├── OutUpBig.js.html
│ │ └── index.html
│ ├── Flip/
│ │ ├── InX.js.html
│ │ ├── InY.js.html
│ │ ├── OutX.js.html
│ │ ├── OutY.js.html
│ │ ├── index.html
│ │ └── index.js.html
│ ├── LightSpeed/
│ │ ├── In.js.html
│ │ ├── Out.js.html
│ │ └── index.html
│ ├── Rotate/
│ │ ├── In.js.html
│ │ ├── InDownLeft.js.html
│ │ ├── InDownRight.js.html
│ │ ├── InUpLeft.js.html
│ │ ├── InUpRight.js.html
│ │ ├── Out.js.html
│ │ ├── OutDownLeft.js.html
│ │ ├── OutDownRight.js.html
│ │ ├── OutUpLeft.js.html
│ │ ├── OutUpRight.js.html
│ │ └── index.html
│ ├── Slide/
│ │ ├── InDown.js.html
│ │ ├── InLeft.js.html
│ │ ├── InRight.js.html
│ │ ├── InUp.js.html
│ │ ├── OutDown.js.html
│ │ ├── OutLeft.js.html
│ │ ├── OutRight.js.html
│ │ ├── OutUp.js.html
│ │ └── index.html
│ ├── Zoom/
│ │ ├── In.js.html
│ │ ├── InDown.js.html
│ │ ├── InLeft.js.html
│ │ ├── InRight.js.html
│ │ ├── InUp.js.html
│ │ ├── Out.js.html
│ │ ├── OutDown.js.html
│ │ ├── OutLeft.js.html
│ │ ├── OutRight.js.html
│ │ ├── OutUp.js.html
│ │ └── index.html
│ ├── index.html
│ └── index.js.html
└── stories/
├── Animate.stories.js
├── Attention.stories.js
├── Bounce.stories.js
├── Especials.stories.js
├── Fade.stories.js
├── Flip.stories.js
├── LightSpeed.stories.js
├── Rotate.stories.js
├── Slide.stories.js
└── Zoom.stories.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .babelrc
================================================
{
"presets": ["es2015", "react"]
}
================================================
FILE: .gitignore
================================================
node_modules
coverage
.idea
lib
storybook-static
================================================
FILE: .npmignore
================================================
**/__snapshot__
**/*.spec.js
================================================
FILE: .nvmrc
================================================
7.0
================================================
FILE: .storybook/addons.js
================================================
import '@storybook/addon-actions/register';
import '@storybook/addon-links/register';
================================================
FILE: .storybook/config.js
================================================
import { configure } from '@storybook/react';
// automatically import all files ending in *.stories.js
const req = require.context('../stories', true, /.stories.js$/);
function loadStories() {
req.keys().forEach(filename => req(filename));
}
configure(loadStories, module);
================================================
FILE: .travis.yml
================================================
language: node_js
install:
- npm install
script:
- npm run test
================================================
FILE: Example/Card.js
================================================
import styled from 'styled-components';
import { flexCenter } from './utils/styles';
const Card = styled.div`
display: inline-block;
padding: 10px;
background: #FFF;
box-shadow: 0 2px 8px rgba(14,20,26,0.2);
${props => props.rounded ? 'border-radius: 50%;': ''};
width: ${props => props.width ? props.width : 'auto'};
height: ${props => props.height ? props.height : 'auto'};
${flexCenter};
&:hover {
cursor: pointer;
transform: scale(1.05);
}
`;
export default Card;
================================================
FILE: Example/FullView.js
================================================
import styled from 'styled-components';
import { flexCenter } from './utils/styles';
const FullView = styled.section`
width: 100vw;
height: 100vh;
background-image: linear-gradient(to right, #2BA4A5, #2E93CE);
${props => props.center ? flexCenter : ''}
`;
export default FullView;
================================================
FILE: Example/utils/styles.js
================================================
export const flexCenter = `
display: flex;
align-items: center;
justify-content: center;
`;
================================================
FILE: README.md
================================================
# animate-css-styled-components
simple port of animate css for styled-components
[](https://travis-ci.org/dielduarte/animate-css-styled-components)
----------
## instalation
install animate-css-styled-components
```
[sudo] npm i --save animate-css-styled-components
```
## How to use
import animate-css-styled-components module calling global animations
```jsx
import { Wobble, FadeIn, FadeOut } from 'animate-css-styled-components';
```
###### See how import specifics animations [here](https://github.com/dielduarte/animate-css-styled-components/tree/master/docs/specific-animations).
Now, this animation is a component and you can encompassing the desired content within the component.
Example:
```jsx
card content...
```
## Props
- duration
- prop for represent animation-duration
- default `1s`
- delay
- prop for represent animation-delay
- default `0s`
- timingFunction
- prop for represent animation-timing-function
- default `ease`
- iterationCount
- prop for represent animation-iteration-count
- default `1`
- direction
- prop for represent animation-direction
- default `normal`
- fillMode
- prop for represent animation-fill-mode
- default `both`
- playState
- prop for represent animation-play-state
- default `running`
- display
- prop for represent display css property
- default `block`
## Animate - HOC
For convenience you can use Animate HOC to use animations stacked, you could pass a unique component to `Animation` prop or an array of animations, example:
```jsx
import Animate, {
Flash,
Bounce
} from 'animate-css-styled-components';
card content...
```
In this example that you could see [here](https://dielduarte.github.io/animate-css-styled-components/?selectedKind=Animate%20%28HOC%29&selectedStory=Multiple%20Animations&full=0&down=1&left=1&panelRight=0&downPanel=kadirahq%2Fstorybook-addon-actions%2Factions-panel), the Bounce Animation will run after when Flash animation is finished, respecting the duration time + delay time, duration and delay are same for all animations, but you could pass diferents values to each animation prop, look:
```jsx
import Animate, {
Flash,
Bounce,
FadeOut,
FadeIn
} from 'animate-css-styled-components';
card content...
```
See this example [here](https://dielduarte.github.io/animate-css-styled-components/?selectedKind=Animate%20%28HOC%29&selectedStory=Multiple%20Animations%20with%20diferent%20times%20and%20delays&full=0&down=1&left=1&panelRight=0&downPanel=kadirahq%2Fstorybook-addon-actions%2Factions-panel)
Don't forget, you coul pass any [animations props](https://github.com/dielduarte/animate-css-styled-components#props) as single string if the value are same for all animations stacked or an array of values.
## Examples - Storybook
See all examples [here](https://dielduarte.github.io/animate-css-styled-components/)
## How to create custom styled animations
You can import BaseAnimation component and create your custom animation
Example:
```jsx
import { BaseAnimation } from 'animate-css-styled-components';
//create your custom animation
const SlideOutDownAnimation = keyframes`
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(0, 100%, 0);
}
`;
//extend BaseAnimation component and create
//your custom styled animation
const SlideOutDown = styled(BaseAnimation)`
animation-name: ${SlideOutDownAnimation};
`;
//export your custom styled animation
export default SlideOutDown;
```
now your animation is a styled-component and you can use this like any other styled-component,
passing the all BaseAnimation [props](https://github.com/dielduarte/animate-css-styled-components#props).
Made with love and styled-components!
================================================
FILE: docs/specific-animations/README.md
================================================
# How import specific animations
----------
## Attention
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- Flash
- HeadShake
- Jello
- Pulse
- Rubberbrand
- Shake
- Swing
- Tada
- Wobble
## Bounce
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- Bounce
- BounceIn
- BounceInDown
- BounceInLeft
- BounceInRight
- BounceInUp
- BounceOut
- BounceOutDown
- BounceOutLeft
- BounceOutRight
- BounceOutUp
## Especials
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- Hinge
- RollIn
- RollOut
## Fade
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- FadeIn
- FadeInDown
- FadeInDownBig
- FadeInLeft
- FadeInLeftBig
- FadeInRight
- FadeInRightBig
- FadeInUp
- FadeInUpBig
- FadeOut
- FadeOutDown
- FadeOutDownBig
- FadeOutLeft
- FadeOutLeftBig
- FadeOutRight
- FadeOutRightBig
- FadeOutUp
- FadeOutUpBig
## Flip
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- Flip
- FlipInX
- FlipInY
- FlipOutX
- FlipOutY
## LightSpeed
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- LightSpeedIn
- LightSpeedOut
## Rotate
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- RotateIn
- RotateInDownLeft
- RotateInDownRight
- RotateInUpLeft
- RotateInUpRight
- RotateOut
- RotateOutDownLeft
- RotateOutDownRight
- RotateOutUpLeft
- RotateOutUpRight
## Slide
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- SlideInDown
- SlideInLeft
- SlideInRight
- SlideInUp
- SlideOutDown
- SlideOutLeft
- SlideOutRight
- SlideOutUp
## Zoom
```
import { AnimationType } from 'animate-css-styled-components';
```
#### Animations types
- ZoomIn
- ZoomInDown
- ZoomInLeft
- ZoomInRight
- ZoomInUp
- ZoomOut
- ZoomOutDown
- ZoomOutLeft
- ZoomOutRight
- ZoomOutUp
================================================
FILE: package.json
================================================
{
"name": "animate-css-styled-components",
"version": "1.0.2",
"description": "port of animate.css for styled-components",
"main": "./lib/index.js",
"scripts": {
"build": "babel src -d ./lib",
"build-watch": "babel src -d ./lib -w",
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook",
"prepublish": "babel src -d ./lib",
"test-dev": "jest --watch --coverage",
"test": "jest -u"
},
"repository": {
"type": "git",
"url": "git+https://github.com/dielduarte/animate-css-styled-components.git"
},
"author": "Diel Duarte",
"license": "MIT",
"bugs": {
"url": "https://github.com/dielduarte/animate-css-styled-components/issues"
},
"homepage": "https://github.com/dielduarte/animate-css-styled-components#readme",
"peerDependencies": {
"styled-components": "^3.3.2"
},
"devDependencies": {
"@kadira/storybook": "^2.35.3",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"styled-components": "^3.3.2",
"jest": "^23.1.0",
"prop-types": "^15.6.1",
"react": "^16.4.0",
"react-dom": "^16.4.0",
"react-test-renderer": "^16.4.0",
"@storybook/react": "^3.4.7",
"@storybook/addon-actions": "^3.4.7",
"@storybook/addon-links": "^3.4.7",
"@storybook/addons": "^3.4.7",
"babel-runtime": "^6.26.0"
},
"files": [
"lib/"
],
"jest": {
"collectCoverageFrom": [
"src/**/*.js",
"!src/index.js",
"!src/lcov-report/**",
"!**/node_modules/**",
"!**/stories/**",
"!**/Example/**",
"!**/docs/**",
"!**/.storybook/**",
"!**/lib/**"
]
},
"dependencies": {}
}
================================================
FILE: src/Animate/StackAnimates.js
================================================
import React, { PureComponent } from 'react';
import * as Utils from './Utils';
class StackAnimates extends PureComponent {
constructor(props) {
super(props);
this.state = Utils.buildState(props);
}
get getNextIndex() {
return this.state.index +1;
}
get getNextStartTime() {
const time = Utils.convertToMs(parseFloat(Utils.removeUnit(this.state.duration)));
const delay = Utils.convertToMs(parseFloat(Utils.removeUnit(this.state.delay)));
return time + delay;
}
get HaveMoreAnimations() {
return this.getNextIndex < this.props.Animation.length;
}
renderNextAnimate() {
if (this.HaveMoreAnimations) {
setTimeout(() => {
this.setState(
Utils.buildState(this.props, this.getNextIndex),
() => this.renderNextAnimate()
);
}, this.getNextStartTime);
}
}
render() {
const { Animation } = this.state;
return (
{this.props.children}
);
}
componentDidMount() {
this.renderNextAnimate();
}
}
export default StackAnimates;
================================================
FILE: src/Animate/Utils.js
================================================
export const isArray = (obj) => Array.isArray(obj);
export const buildState = (props, index = 0) => {
let state = {};
Object.entries(props).forEach((prop) => {
const key = prop[0];
const value = prop[1];
if(key !== 'children') {
state[key] = isArray(value) ? value[index] : value;
}
});
state['index'] = index;
return state;
};
export const removeUnit = (time) => time.replace('s', '');
export const convertToMs = (time) => time * 1000;
================================================
FILE: src/Animate/index.js
================================================
import React, { PureComponent } from 'react';
import * as Utils from './Utils';
import StackAnimates from './StackAnimates';
class Animate extends PureComponent {
render() {
const { Animation } = this.props;
if (Utils.isArray(Animation)) {
return ;
}
return (
{this.props.children}
);
}
}
export default Animate;
================================================
FILE: src/Attention/Flash.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const flashAnimation = keyframes`
from, 50%, to {
opacity: 1;
}
25%, 75% {
opacity: 0;
}
`;
const Flash = styled(BaseAnimation)`
animation-name: ${flashAnimation};
`;
export default Flash;
================================================
FILE: src/Attention/Flash.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Flash from './Flash';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/HeadShake.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const HeadShakeAnimation = keyframes`
0% {
transform: translateX(0);
}
6.5% {
transform: translateX(-6px) rotateY(-9deg);
}
18.5% {
transform: translateX(5px) rotateY(7deg);
}
31.5% {
transform: translateX(-3px) rotateY(-5deg);
}
43.5% {
transform: translateX(2px) rotateY(3deg);
}
50% {
transform: translateX(0);
}
`;
const HeadShake = styled(BaseAnimation)`
animation-name: ${HeadShakeAnimation};
animation-timing-function: ease-in-out;
`;
export default HeadShake;
================================================
FILE: src/Attention/HeadShake.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import HeadShake from './HeadShake';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/Jello.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const jelloAnimation = keyframes`
from, 11.1%, to {
transform: none;
}
22.2% {
transform: skewX(-12.5deg) skewY(-12.5deg);
}
33.3% {
transform: skewX(6.25deg) skewY(6.25deg);
}
44.4% {
transform: skewX(-3.125deg) skewY(-3.125deg);
}
55.5% {
transform: skewX(1.5625deg) skewY(1.5625deg);
}
66.6% {
transform: skewX(-0.78125deg) skewY(-0.78125deg);
}
77.7% {
transform: skewX(0.390625deg) skewY(0.390625deg);
}
88.8% {
transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
}
`;
const Jello = styled(BaseAnimation)`
animation-name: ${jelloAnimation};
transform-origin: center;
`;
export default Jello;
================================================
FILE: src/Attention/Jello.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Jello from './Jello';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/Pulse.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const PulseAnimation = keyframes`
from {
transform: scale3d(1, 1, 1);
}
50% {
transform: scale3d(1.05, 1.05, 1.05);
}
to {
transform: scale3d(1, 1, 1);
}
`;
const Pulse = styled(BaseAnimation)`
animation-name: ${PulseAnimation};
`;
export default Pulse;
================================================
FILE: src/Attention/Pulse.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Pulse from './Pulse';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/RubberBand.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RubberBandAnimation = keyframes`
from {
transform: scale3d(1, 1, 1);
}
30% {
transform: scale3d(1.25, 0.75, 1);
}
40% {
transform: scale3d(0.75, 1.25, 1);
}
50% {
transform: scale3d(1.15, 0.85, 1);
}
65% {
transform: scale3d(.95, 1.05, 1);
}
75% {
transform: scale3d(1.05, .95, 1);
}
to {
transform: scale3d(1, 1, 1);
}
`;
const RubberBand = styled(BaseAnimation)`
animation-name: ${RubberBandAnimation};
`;
export default RubberBand;
================================================
FILE: src/Attention/RubberBand.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RubberBand from './RubberBand';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/Shake.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ShakeAnimation = keyframes`
from, to {
transform: translate3d(0, 0, 0);
}
10%, 30%, 50%, 70%, 90% {
transform: translate3d(-10px, 0, 0);
}
20%, 40%, 60%, 80% {
transform: translate3d(10px, 0, 0);
}
`;
const Shake = styled(BaseAnimation)`
animation-name: ${ShakeAnimation};
`;
export default Shake;
================================================
FILE: src/Attention/Shake.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Shake from './Shake';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/Swing.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SwingAnimation = keyframes`
20% {
transform: rotate3d(0, 0, 1, 15deg);
}
40% {
transform: rotate3d(0, 0, 1, -10deg);
}
60% {
transform: rotate3d(0, 0, 1, 5deg);
}
80% {
transform: rotate3d(0, 0, 1, -5deg);
}
to {
transform: rotate3d(0, 0, 1, 0deg);
}
`;
const Swing = styled(BaseAnimation)`
animation-name: ${SwingAnimation};
transform-origin: top center;
`;
export default Swing;
================================================
FILE: src/Attention/Swing.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Swing from './Swing';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/Tada.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const TadaAnimation = keyframes`
from {
transform: scale3d(1, 1, 1);
}
10%, 20% {
transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
}
30%, 50%, 70%, 90% {
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
}
40%, 60%, 80% {
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
}
to {
transform: scale3d(1, 1, 1);
}
`;
const Tada = styled(BaseAnimation)`
animation-name: ${TadaAnimation};
`;
export default Tada;
================================================
FILE: src/Attention/Tada.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Tada from './Tada';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/Wobble.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const WobbleAnimation = keyframes`
from {
transform: none;
}
15% {
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
}
30% {
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
}
45% {
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
}
60% {
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
}
75% {
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
}
to {
transform: none;
}
`;
const Wobble = styled(BaseAnimation)`
animation-name: ${WobbleAnimation};
`;
export default Wobble;
================================================
FILE: src/Attention/Wobble.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Wobble from './Wobble';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Attention/__snapshots__/Flash.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/HeadShake.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/Jello.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/Pulse.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/RubberBand.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/Shake.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/Swing.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/Tada.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Attention/__snapshots__/Wobble.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/BaseAnimation.js
================================================
import styled from 'styled-components';
const BaseAnimation = styled.div`
animation-duration: ${props => props.duration};
animation-timing-function: ${props => props.timingFunction};
animation-delay: ${props => props.delay};
animation-iteration-count: ${props => props.iterationCount};
animation-direction: ${props => props.direction};
animation-fill-mode: ${props => props.fillMode};
animation-play-state: ${props => props.playState};
display: ${props => props.display};
`;
BaseAnimation.defaultProps = {
duration: '1s',
timingFunction: 'ease',
delay: '0s',
iterationCount: '1',
direction: 'normal',
fillMode: 'both',
playState: 'running',
display: 'block'
}
export default BaseAnimation;
================================================
FILE: src/BaseAnimation.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BaseAnimation from './BaseAnimation';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/In.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceInAnimation = keyframes`
from, 20%, 40%, 60%, 80%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
20% {
transform: scale3d(1.1, 1.1, 1.1);
}
40% {
transform: scale3d(.9, .9, .9);
}
60% {
opacity: 1;
transform: scale3d(1.03, 1.03, 1.03);
}
80% {
transform: scale3d(.97, .97, .97);
}
to {
opacity: 1;
transform: scale3d(1, 1, 1);
}
`;
const BounceIn = styled(BaseAnimation)`
animation-name: ${bounceInAnimation};
`;
export default BounceIn;
================================================
FILE: src/Bounce/In.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceIn from './In';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/InDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceInDownAnimation = keyframes`
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
transform: translate3d(0, -3000px, 0);
}
60% {
opacity: 1;
transform: translate3d(0, 25px, 0);
}
75% {
transform: translate3d(0, -10px, 0);
}
90% {
transform: translate3d(0, 5px, 0);
}
to {
transform: none;
}
`;
const BounceInDown = styled(BaseAnimation)`
animation-name: ${bounceInDownAnimation};
`;
export default BounceInDown;
================================================
FILE: src/Bounce/InDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceInDown from './InDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/InLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceInLeftAnimation = keyframes`
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
transform: translate3d(-3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(25px, 0, 0);
}
75% {
transform: translate3d(-10px, 0, 0);
}
90% {
transform: translate3d(5px, 0, 0);
}
to {
transform: none;
}
`;
const BounceInLeft = styled(BaseAnimation)`
animation-name: ${bounceInLeftAnimation};
`;
export default BounceInLeft;
================================================
FILE: src/Bounce/InLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceInLeft from './InLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/InRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceInRightAnimation = keyframes`
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
from {
opacity: 0;
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
}
to {
transform: none;
}
`;
const BounceInRight = styled(BaseAnimation)`
animation-name: ${bounceInRightAnimation};
`;
export default BounceInRight;
================================================
FILE: src/Bounce/InRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceInRight from './InRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/InUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceInUpAnimation = keyframes`
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
from {
opacity: 0;
transform: translate3d(0, 3000px, 0);
}
60% {
opacity: 1;
transform: translate3d(0, -20px, 0);
}
75% {
transform: translate3d(0, 10px, 0);
}
90% {
transform: translate3d(0, -5px, 0);
}
to {
transform: translate3d(0, 0, 0);
}
`;
const BounceInUp = styled(BaseAnimation)`
animation-name: ${bounceInUpAnimation};
`;
export default BounceInUp;
================================================
FILE: src/Bounce/InUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceInUp from './InUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/Out.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceOutAnimation = keyframes`
20% {
transform: scale3d(.9, .9, .9);
}
50%, 55% {
opacity: 1;
transform: scale3d(1.1, 1.1, 1.1);
}
to {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
`;
const BounceOut = styled(BaseAnimation)`
animation-name: ${bounceOutAnimation};
`;
export default BounceOut;
================================================
FILE: src/Bounce/Out.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceOut from './Out';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/OutDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceOutDownAnimation = keyframes`
20% {
transform: translate3d(0, 10px, 0);
}
40%, 45% {
opacity: 1;
transform: translate3d(0, -20px, 0);
}
to {
opacity: 0;
transform: translate3d(0, 2000px, 0);
}
`;
const BounceOutDown = styled(BaseAnimation)`
animation-name: ${bounceOutDownAnimation};
`;
export default BounceOutDown;
================================================
FILE: src/Bounce/OutDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceOutDown from './OutDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/OutLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceOutLeftAnimation = keyframes`
20% {
opacity: 1;
transform: translate3d(20px, 0, 0);
}
to {
opacity: 0;
transform: translate3d(-2000px, 0, 0);
}
`;
const BounceOutLeft = styled(BaseAnimation)`
animation-name: ${bounceOutLeftAnimation};
`;
export default BounceOutLeft;
================================================
FILE: src/Bounce/OutLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceOutLeft from './OutLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/OutRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceOutRightAnimation = keyframes`
20% {
opacity: 1;
transform: translate3d(-20px, 0, 0);
}
to {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
`;
const BounceOutRight = styled(BaseAnimation)`
animation-name: ${bounceOutRightAnimation};
`;
export default BounceOutRight;
================================================
FILE: src/Bounce/OutRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceOutRight from './OutRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/OutUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceOutUpAnimation = keyframes`
20% {
transform: translate3d(0, -10px, 0);
}
40%, 45% {
opacity: 1;
transform: translate3d(0, 20px, 0);
}
to {
opacity: 0;
transform: translate3d(0, -2000px, 0);
}
`;
const BounceOutUp = styled(BaseAnimation)`
animation-name: ${bounceOutUpAnimation};
`;
export default BounceOutUp;
================================================
FILE: src/Bounce/OutUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import BounceOutUp from './OutUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Bounce/__snapshots__/In.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/Out.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/OutDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/OutLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/OutRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/OutUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/inDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/inLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/inRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/inUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/__snapshots__/index.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Bounce/index.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const bounceAnimation = keyframes`
from, 20%, 53%, 80%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transform: translate3d(0,0,0);
}
40%, 43% {
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transform: translate3d(0, -30px, 0);
}
70% {
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transform: translate3d(0, -15px, 0);
}
90% {
transform: translate3d(0,-4px,0);
}
`;
const Bounce = styled(BaseAnimation)`
animation-name: ${bounceAnimation};
`;
export default Bounce;
================================================
FILE: src/Bounce/index.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Bounce from './index';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Especials/Hinge.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const HingeAnimation = keyframes`
0% {
transform-origin: top left;
animation-timing-function: ease-in-out;
}
20%, 60% {
transform: rotate3d(0, 0, 1, 80deg);
transform-origin: top left;
animation-timing-function: ease-in-out;
}
40%, 80% {
transform: rotate3d(0, 0, 1, 60deg);
transform-origin: top left;
animation-timing-function: ease-in-out;
opacity: 1;
}
to {
transform: translate3d(0, 700px, 0);
opacity: 0;
}
`;
const Hinge = styled(BaseAnimation)`
animation-name: ${HingeAnimation};
`;
export default Hinge;
================================================
FILE: src/Especials/Hinge.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Hinge from './Hinge';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Especials/RollIn.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RollInAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
}
to {
opacity: 1;
transform: none;
}
`;
const RollIn = styled(BaseAnimation)`
animation-name: ${RollInAnimation};
`;
export default RollIn;
================================================
FILE: src/Especials/RollIn.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RollIn from './RollIn';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Especials/RollOut.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RollOutAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
}
`;
const RollOut = styled(BaseAnimation)`
animation-name: ${RollOutAnimation};
`;
export default RollOut;
================================================
FILE: src/Especials/RollOut.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RollOut from './RollOut';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Especials/__snapshots__/Hinge.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Especials/__snapshots__/RollIn.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Especials/__snapshots__/RollOut.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/In.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInAnimation = keyframes`
from {
opacity: 0;
}
to {
opacity: 1;
}
`;
const FadeIn = styled(BaseAnimation)`
animation-name: ${FadeInAnimation};
`;
export default FadeIn;
================================================
FILE: src/Fade/In.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeIn from './In';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInDownAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInDown = styled(BaseAnimation)`
animation-name: ${FadeInDownAnimation};
`;
export default FadeInDown;
================================================
FILE: src/Fade/InDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInDown from './InDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InDownBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInDownBigAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(0, -2000px, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInDownBig = styled(BaseAnimation)`
animation-name: ${FadeInDownBigAnimation};
`;
export default FadeInDownBig;
================================================
FILE: src/Fade/InDownBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInDownBig from './InDownBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInLeftAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInLeft = styled(BaseAnimation)`
animation-name: ${FadeInLeftAnimation};
`;
export default FadeInLeft;
================================================
FILE: src/Fade/InLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInLeft from './InLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InLeftBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInLeftBigAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(-2000px, 0, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInLeftBig = styled(BaseAnimation)`
animation-name: ${FadeInLeftBigAnimation};
`;
export default FadeInLeftBig;
================================================
FILE: src/Fade/InLeftBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInLeftBig from './InLeftBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInRightAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInRight = styled(BaseAnimation)`
animation-name: ${FadeInRightAnimation};
`;
export default FadeInRight;
================================================
FILE: src/Fade/InRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInRight from './InRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InRightBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInRightBigAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInRightBig = styled(BaseAnimation)`
animation-name: ${FadeInRightBigAnimation};
`;
export default FadeInRightBig;
================================================
FILE: src/Fade/InRightBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInRightBig from './InRightBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInUpAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInUp = styled(BaseAnimation)`
animation-name: ${FadeInUpAnimation};
`;
export default FadeInUp;
================================================
FILE: src/Fade/InUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInUp from './InUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/InUpBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeInUpBigAnimation = keyframes`
from {
opacity: 0;
transform: translate3d(0, 2000px, 0);
}
to {
opacity: 1;
transform: none;
}
`;
const FadeInUpBig = styled(BaseAnimation)`
animation-name: ${FadeInUpBigAnimation};
`;
export default FadeInUpBig;
================================================
FILE: src/Fade/InUpBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeInUpBig from './InUpBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/Out.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
}
`;
const FadeOut = styled(BaseAnimation)`
animation-name: ${FadeOutAnimation};
`;
export default FadeOut;
================================================
FILE: src/Fade/Out.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOut from './Out';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutDownAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
`;
const FadeOutDown = styled(BaseAnimation)`
animation-name: ${FadeOutDownAnimation};
`;
export default FadeOutDown;
================================================
FILE: src/Fade/OutDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutDown from './OutDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutDownBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutDownBigAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, 2000px, 0);
}
`;
const FadeOutDownBig = styled(BaseAnimation)`
animation-name: ${FadeOutDownBigAnimation};
`;
export default FadeOutDownBig;
================================================
FILE: src/Fade/OutDownBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutDownBig from './OutDownBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutLeftAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
`;
const FadeOutLeft = styled(BaseAnimation)`
animation-name: ${FadeOutLeftAnimation};
`;
export default FadeOutLeft;
================================================
FILE: src/Fade/OutLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutLeft from './OutLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutLeftBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutLeftBigAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(-2000px, 0, 0);
}
`;
const FadeOutLeftBig = styled(BaseAnimation)`
animation-name: ${FadeOutLeftBigAnimation};
`;
export default FadeOutLeftBig;
================================================
FILE: src/Fade/OutLeftBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutLeftBig from './OutLeftBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutRightAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
`;
const FadeOutRight = styled(BaseAnimation)`
animation-name: ${FadeOutRightAnimation};
`;
export default FadeOutRight;
================================================
FILE: src/Fade/OutRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutRight from './OutRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutRightBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutRightBigAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
`;
const FadeOutRightBig = styled(BaseAnimation)`
animation-name: ${FadeOutRightBigAnimation};
`;
export default FadeOutRightBig;
================================================
FILE: src/Fade/OutRightBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutRightBig from './OutRightBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutUpAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
`;
const FadeOutUp = styled(BaseAnimation)`
animation-name: ${FadeOutUpAnimation};
`;
export default FadeOutUp;
================================================
FILE: src/Fade/OutUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutUp from './OutUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/OutUpBig.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FadeOutUpBigAnimation = keyframes`
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, -2000px, 0);
}
`;
const FadeOutUpBig = styled(BaseAnimation)`
animation-name: ${FadeOutUpBigAnimation};
`;
export default FadeOutUpBig;
================================================
FILE: src/Fade/OutUpBig.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FadeOutUpBig from './OutUpBig';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Fade/__snapshots__/In.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InDownBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InLeftBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InRightBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/InUpBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/Out.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutDownBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutLeftBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutRightBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Fade/__snapshots__/OutUpBig.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Flip/InX.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FlipInXAnimation = keyframes`
from {
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
animation-timing-function: ease-in;
opacity: 0;
}
40% {
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
animation-timing-function: ease-in;
}
60% {
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
opacity: 1;
}
80% {
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
}
to {
transform: perspective(400px);
}
`;
const FlipInX = styled(BaseAnimation)`
animation-name: ${FlipInXAnimation};
backface-visibility: visible !important;
`;
export default FlipInX;
================================================
FILE: src/Flip/InX.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FlipInX from './InX';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Flip/InY.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FlipInYAnimation = keyframes`
from {
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
animation-timing-function: ease-in;
opacity: 0;
}
40% {
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
animation-timing-function: ease-in;
}
60% {
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
opacity: 1;
}
80% {
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
}
to {
transform: perspective(400px);
}
`;
const FlipInY = styled(BaseAnimation)`
animation-name: ${FlipInYAnimation};
backface-visibility: visible !important;
`;
export default FlipInY;
================================================
FILE: src/Flip/InY.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FlipInY from './InY';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Flip/OutX.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FlipOutXAnimation = keyframes`
from {
transform: perspective(400px);
}
30% {
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
opacity: 1;
}
to {
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
opacity: 0;
}
`;
const FlipOutX = styled(BaseAnimation)`
animation-name: ${FlipOutXAnimation};
backface-visibility: visible !important;
`;
export default FlipOutX;
================================================
FILE: src/Flip/OutX.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FlipOutX from './OutX';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Flip/OutY.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FlipOutYAnimation = keyframes`
from {
transform: perspective(400px);
}
30% {
transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
opacity: 1;
}
to {
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
opacity: 0;
}
`;
const FlipOutY = styled(BaseAnimation)`
animation-name: ${FlipOutYAnimation};
backface-visibility: visible !important;
`;
export default FlipOutY;
================================================
FILE: src/Flip/OutY.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import FlipOutY from './OutY';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Flip/__snapshots__/InX.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Flip/__snapshots__/InY.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Flip/__snapshots__/OutX.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Flip/__snapshots__/OutY.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Flip/__snapshots__/index.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Flip/index.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const FlipAnimation = keyframes`
from {
transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
animation-timing-function: ease-out;
}
40% {
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
animation-timing-function: ease-out;
}
50% {
transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
animation-timing-function: ease-in;
}
80% {
transform: perspective(400px) scale3d(.95, .95, .95);
animation-timing-function: ease-in;
}
to {
transform: perspective(400px);
animation-timing-function: ease-in;
}
`;
const Flip = styled(BaseAnimation)`
animation-name: ${FlipAnimation};
backface-visibility: visible;
`;
export default Flip;
================================================
FILE: src/Flip/index.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import Flip from './index';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/LightSpeed/In.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const LightSpeedInAnimation = keyframes`
from {
transform: translate3d(100%, 0, 0) skewX(-30deg);
opacity: 0;
}
60% {
transform: skewX(20deg);
opacity: 1;
}
80% {
transform: skewX(-5deg);
opacity: 1;
}
to {
transform: none;
opacity: 1;
}
`;
const LightSpeedIn = styled(BaseAnimation)`
animation-name: ${LightSpeedInAnimation};
animation-timing-function: ease-out;
`;
export default LightSpeedIn;
================================================
FILE: src/LightSpeed/In.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import LightSpeedIn from './In';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/LightSpeed/Out.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const LightSpeedOutAnimation = keyframes`
from {
opacity: 1;
}
to {
transform: translate3d(100%, 0, 0) skewX(30deg);
opacity: 0;
}
`;
const LightSpeedOut = styled(BaseAnimation)`
animation-name: ${LightSpeedOutAnimation};
animation-timing-function: ease-in;
`;
export default LightSpeedOut;
================================================
FILE: src/LightSpeed/Out.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import LightSpeedOut from './Out';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/LightSpeed/__snapshots__/In.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/LightSpeed/__snapshots__/Out.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/In.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateInAnimation = keyframes`
from {
transform-origin: center;
transform: rotate3d(0, 0, 1, -200deg);
opacity: 0;
}
to {
transform-origin: center;
transform: none;
opacity: 1;
}
`;
const RotateIn = styled(BaseAnimation)`
animation-name: ${RotateInAnimation};
`;
export default RotateIn;
================================================
FILE: src/Rotate/In.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateIn from './In';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/InDownLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateInDownLeftAnimation = keyframes`
from {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
to {
transform-origin: left bottom;
transform: none;
opacity: 1;
}
`;
const RotateInDownLeft = styled(BaseAnimation)`
animation-name: ${RotateInDownLeftAnimation};
`;
export default RotateInDownLeft;
================================================
FILE: src/Rotate/InDownLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateInDownLeft from './InDownLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/InDownRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateInDownRightAnimation = keyframes`
from {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
to {
transform-origin: right bottom;
transform: none;
opacity: 1;
}
`;
const RotateInDownRight = styled(BaseAnimation)`
animation-name: ${RotateInDownRightAnimation};
`;
export default RotateInDownRight;
================================================
FILE: src/Rotate/InDownRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateInDownRight from './InDownRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/InUpLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateInUpLeftAnimation = keyframes`
from {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
to {
transform-origin: left bottom;
transform: none;
opacity: 1;
}
`;
const RotateInUpLeft = styled(BaseAnimation)`
animation-name: ${RotateInUpLeftAnimation};
`;
export default RotateInUpLeft;
================================================
FILE: src/Rotate/InUpLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateInUpLeft from './InUpLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/InUpRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateInUpRightAnimation = keyframes`
from {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, -90deg);
opacity: 0;
}
to {
transform-origin: right bottom;
transform: none;
opacity: 1;
}
`;
const RotateInUpRight = styled(BaseAnimation)`
animation-name: ${RotateInUpRightAnimation};
`;
export default RotateInUpRight;
================================================
FILE: src/Rotate/InUpRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateInUpRight from './InUpRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/Out.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateOutAnimation = keyframes`
from {
transform-origin: center;
opacity: 1;
}
to {
transform-origin: center;
transform: rotate3d(0, 0, 1, 200deg);
opacity: 0;
}
`;
const RotateOut = styled(BaseAnimation)`
animation-name: ${RotateOutAnimation};
`;
export default RotateOut;
================================================
FILE: src/Rotate/Out.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateOut from './Out';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/OutDownLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateOutDownLeftAnimation = keyframes`
from {
transform-origin: left bottom;
opacity: 1;
}
to {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
`;
const RotateOutDownLeft = styled(BaseAnimation)`
animation-name: ${RotateOutDownLeftAnimation};
`;
export default RotateOutDownLeft;
================================================
FILE: src/Rotate/OutDownLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateOutDownLeft from './OutDownLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/OutDownRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateOutDownRightAnimation = keyframes`
from {
transform-origin: right bottom;
opacity: 1;
}
to {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
`;
const RotateOutDownRight = styled(BaseAnimation)`
animation-name: ${RotateOutDownRightAnimation};
`;
export default RotateOutDownRight;
================================================
FILE: src/Rotate/OutDownRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateOutDownRight from './OutDownRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/OutUpLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateOutUpLeftAnimation = keyframes`
from {
transform-origin: left bottom;
opacity: 1;
}
to {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
`;
const RotateOutUpLeft = styled(BaseAnimation)`
animation-name: ${RotateOutUpLeftAnimation};
`;
export default RotateOutUpLeft;
================================================
FILE: src/Rotate/OutUpLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateOutUpLeft from './OutUpLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/OutUpRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const RotateOutUpRightAnimation = keyframes`
from {
transform-origin: right bottom;
opacity: 1;
}
to {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, 90deg);
opacity: 0;
}
`;
const RotateOutUpRight = styled(BaseAnimation)`
animation-name: ${RotateOutUpRightAnimation};
`;
export default RotateOutUpRight;
================================================
FILE: src/Rotate/OutUpRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import RotateOutUpRight from './OutUpRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Rotate/__snapshots__/In.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/InDownLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/InDownRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/InUpLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/InUpRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/Out.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/OutDownLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/OutDownRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/OutUpLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Rotate/__snapshots__/OutUpRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/InDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideInDownAnimation = keyframes`
from {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
`;
const SlideInDown = styled(BaseAnimation)`
animation-name: ${SlideInDownAnimation};
`;
export default SlideInDown;
================================================
FILE: src/Slide/InDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideInDown from './InDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/InLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideInLeftAnimation = keyframes`
from {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
`;
const SlideInLeft = styled(BaseAnimation)`
animation-name: ${SlideInLeftAnimation};
`;
export default SlideInLeft;
================================================
FILE: src/Slide/InLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideInLeft from './InLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/InRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideInRightAnimation = keyframes`
from {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
`;
const SlideInRight = styled(BaseAnimation)`
animation-name: ${SlideInRightAnimation};
`;
export default SlideInRight;
================================================
FILE: src/Slide/InRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideInRight from './InRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/InUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideInUpAnimation = keyframes`
from {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
`;
const SlideInUp = styled(BaseAnimation)`
animation-name: ${SlideInUpAnimation};
`;
export default SlideInUp;
================================================
FILE: src/Slide/InUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideInUp from './InUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/OutDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideOutDownAnimation = keyframes`
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(0, 100%, 0);
}
`;
const SlideOutDown = styled(BaseAnimation)`
animation-name: ${SlideOutDownAnimation};
`;
export default SlideOutDown;
================================================
FILE: src/Slide/OutDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideOutDown from './OutDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/OutLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideOutLeftAnimation = keyframes`
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(-100%, 0, 0);
}
`;
const SlideOutLeft = styled(BaseAnimation)`
animation-name: ${SlideOutLeftAnimation};
`;
export default SlideOutLeft;
================================================
FILE: src/Slide/OutLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideOutLeft from './OutLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/OutRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideOutRightAnimation = keyframes`
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(100%, 0, 0);
}
`;
const SlideOutRight = styled(BaseAnimation)`
animation-name: ${SlideOutRightAnimation};
`;
export default SlideOutRight;
================================================
FILE: src/Slide/OutRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideOutRight from './OutRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/OutUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const SlideOutUpAnimation = keyframes`
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(0, -100%, 0);
}
`;
const SlideOutUp = styled(BaseAnimation)`
animation-name: ${SlideOutUpAnimation};
`;
export default SlideOutUp;
================================================
FILE: src/Slide/OutUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import SlideOutUp from './OutUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Slide/__snapshots__/InDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/__snapshots__/InLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/__snapshots__/InRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/__snapshots__/InUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/__snapshots__/OutDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/__snapshots__/OutLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/__snapshots__/OutRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Slide/__snapshots__/OutUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/In.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomInAnimation = keyframes`
from {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
50% {
opacity: 1;
}
`;
const ZoomIn = styled(BaseAnimation)`
animation-name: ${ZoomInAnimation};
`;
export default ZoomIn;
================================================
FILE: src/Zoom/In.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomIn from './In';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/InDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomInDownAnimation = keyframes`
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
`;
const ZoomInDown = styled(BaseAnimation)`
animation-name: ${ZoomInDownAnimation};
`;
export default ZoomInDown;
================================================
FILE: src/Zoom/InDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomInDown from './InDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/InLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomInLeftAnimation = keyframes`
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
`;
const ZoomInLeft = styled(BaseAnimation)`
animation-name: ${ZoomInLeftAnimation};
`;
export default ZoomInLeft;
================================================
FILE: src/Zoom/InLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomInLeft from './InLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/InRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomInRightAnimation = keyframes`
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
`;
const ZoomInRight = styled(BaseAnimation)`
animation-name: ${ZoomInRightAnimation};
`;
export default ZoomInRight;
================================================
FILE: src/Zoom/InRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomInRight from './InRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/InUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomInUpAnimation = keyframes`
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
`;
const ZoomInUp = styled(BaseAnimation)`
animation-name: ${ZoomInUpAnimation};
`;
export default ZoomInUp;
================================================
FILE: src/Zoom/InUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomInUp from './InUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/Out.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomOutAnimation = keyframes`
from {
opacity: 1;
}
50% {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
to {
opacity: 0;
}
`;
const ZoomOut = styled(BaseAnimation)`
animation-name: ${ZoomOutAnimation};
`;
export default ZoomOut;
================================================
FILE: src/Zoom/Out.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomOut from './Out';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/OutDown.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomOutDownAnimation = keyframes`
40% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
to {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
transform-origin: center bottom;
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
`;
const ZoomOutDown = styled(BaseAnimation)`
animation-name: ${ZoomOutDownAnimation};
`;
export default ZoomOutDown;
================================================
FILE: src/Zoom/OutDown.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomOutDown from './OutDown';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/OutLeft.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomOutLeftAnimation = keyframes`
40% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
}
to {
opacity: 0;
transform: scale(.1) translate3d(-2000px, 0, 0);
transform-origin: left center;
}
`;
const ZoomOutLeft = styled(BaseAnimation)`
animation-name: ${ZoomOutLeftAnimation};
`;
export default ZoomOutLeft;
================================================
FILE: src/Zoom/OutLeft.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomOutLeft from './OutLeft';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/OutRight.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomOutRightAnimation = keyframes`
40% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
}
to {
opacity: 0;
transform: scale(.1) translate3d(2000px, 0, 0);
transform-origin: right center;
}
`;
const ZoomOutRight = styled(BaseAnimation)`
animation-name: ${ZoomOutRightAnimation};
`;
export default ZoomOutRight;
================================================
FILE: src/Zoom/OutRight.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomOutRight from './OutRight';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/OutUp.js
================================================
import styled, { keyframes } from 'styled-components';
import BaseAnimation from '../BaseAnimation';
const ZoomOutUpAnimation = keyframes`
40% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
to {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
transform-origin: center bottom;
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
`;
const ZoomOutUp = styled(BaseAnimation)`
animation-name: ${ZoomOutUpAnimation};
`;
export default ZoomOutUp;
;
================================================
FILE: src/Zoom/OutUp.spec.js
================================================
import React from 'react';
import renderer from 'react-test-renderer';
import ZoomOutUp from './OutUp';
it('renders with default props', () => {
const tree = renderer.create(
).toJSON();
expect(tree).toMatchSnapshot();
});
================================================
FILE: src/Zoom/__snapshots__/In.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/InDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/InLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/InRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/InUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/Out.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/OutDown.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/OutLeft.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/OutRight.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/Zoom/__snapshots__/OutUp.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/__snapshots__/BaseAnimation.spec.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders with default props 1`] = `
`;
================================================
FILE: src/index.js
================================================
import BaseAnimation from './BaseAnimation';
import Flash from './Attention/Flash';
import HeadShake from './Attention/HeadShake';
import Jello from './Attention/Jello';
import Pulse from './Attention/Pulse';
import RubberBand from './Attention/RubberBand';
import Shake from './Attention/Shake';
import Swing from './Attention/Swing';
import Tada from './Attention/Tada';
import Wobble from './Attention/Wobble';
import Bounce from './Bounce';
import BounceIn from './Bounce/In';
import BounceInUp from './Bounce/InUp';
import BounceInDown from './Bounce/InDown';
import BounceInLeft from './Bounce/InLeft';
import BounceInRight from './Bounce/InRight';
import BounceOut from './Bounce/Out';
import BounceOutDown from './Bounce/OutDown';
import BounceOutLeft from './Bounce/OutLeft';
import BounceOutRight from './Bounce/OutRight';
import BounceOutUp from './Bounce/OutUp';
import FadeIn from './Fade/In';
import FadeInDown from './Fade/InDown';
import FadeInDownBig from './Fade/InDownBig';
import FadeInLeft from './Fade/InLeft';
import FadeInLeftBig from './Fade/InLeftBig';
import FadeInRight from './Fade/InRight';
import FadeInRightBig from './Fade/InRightBig';
import FadeInUp from './Fade/InUp';
import FadeInUpBig from './Fade/InUpBig';
import FadeOut from './Fade/Out';
import FadeOutDown from './Fade/OutDown';
import FadeOutDownBig from './Fade/OutDownBig';
import FadeOutLeft from './Fade/OutLeft';
import FadeOutLeftBig from './Fade/OutLeftBig';
import FadeOutRight from './Fade/OutRight';
import FadeOutRightBig from './Fade/OutRightBig';
import FadeOutUp from './Fade/OutUp';
import FadeOutUpBig from './Fade/OutUpBig';
import Flip from './Flip';
import FlipInX from './Flip/InX';
import FlipInY from './Flip/InY';
import FlipOutX from './Flip/OutX';
import FlipOutY from './Flip/OutY';
import LightSpeedIn from './LightSpeed/In';
import LightSpeedOut from './LightSpeed/Out';
import RotateIn from './Rotate/In';
import RotateInDownLeft from './Rotate/InDownLeft';
import RotateInDownRight from './Rotate/InDownRight';
import RotateInUpLeft from './Rotate/InUpLeft';
import RotateInUpRight from './Rotate/InUpRight';
import RotateOut from './Rotate/Out';
import RotateOutDownLeft from './Rotate/OutDownLeft';
import RotateOutDownRight from './Rotate/OutDownRight';
import RotateOutUpLeft from './Rotate/OutUpLeft';
import RotateOutUpRight from './Rotate/OutUpRight';
import SlideInDown from './Slide/InDown';
import SlideInLeft from './Slide/InLeft';
import SlideInRight from './Slide/InRight';
import SlideInUp from './Slide/InUp';
import SlideOutDown from './Slide/OutDown';
import SlideOutLeft from './Slide/OutLeft';
import SlideOutRight from './Slide/OutRight';
import SlideOutUp from './Slide/OutUp';
import Hinge from './Especials/Hinge';
import RollIn from './Especials/RollIn';
import RollOut from './Especials/RollOut';
import ZoomIn from './Zoom/In';
import ZoomInDown from './Zoom/InDown';
import ZoomInLeft from './Zoom/InLeft';
import ZoomInRight from './Zoom/InRight';
import ZoomInUp from './Zoom/InUp';
import ZoomOut from './Zoom/Out';
import ZoomOutDown from './Zoom/OutDown';
import ZoomOutLeft from './Zoom/OutLeft';
import ZoomOutRight from './Zoom/OutRight';
import ZoomOutUp from './Zoom/OutUp';
import Animate from './Animate';
export {
Bounce,
Flash,
HeadShake,
Jello,
Pulse,
RubberBand,
Shake,
Swing,
Tada,
Wobble,
BounceIn,
BounceInUp,
BounceInDown,
BounceInLeft,
BounceInRight,
BounceOut,
BounceOutDown,
BounceOutLeft,
BounceOutRight,
BounceOutUp,
FadeIn,
FadeInDown,
FadeInDownBig,
FadeInLeft,
FadeInLeftBig,
FadeInRight,
FadeInRightBig,
FadeInUp,
FadeInUpBig,
FadeOut,
FadeOutDown,
FadeOutDownBig,
FadeOutLeft,
FadeOutLeftBig,
FadeOutRight,
FadeOutRightBig,
FadeOutUp,
FadeOutUpBig,
Flip,
FlipInX,
FlipInY,
FlipOutX,
FlipOutY,
LightSpeedIn,
LightSpeedOut,
RotateIn,
RotateInDownLeft,
RotateInDownRight,
RotateInUpLeft,
RotateInUpRight,
RotateOut,
RotateOutDownLeft,
RotateOutDownRight,
RotateOutUpLeft,
RotateOutUpRight,
SlideInDown,
SlideInLeft,
SlideInRight,
SlideInUp,
SlideOutDown,
SlideOutLeft,
SlideOutRight,
SlideOutUp,
Hinge,
RollIn,
RollOut,
ZoomIn,
ZoomInDown,
ZoomInLeft,
ZoomInRight,
ZoomInUp,
ZoomOut,
ZoomOutDown,
ZoomOutLeft,
ZoomOutRight,
ZoomOutUp,
BaseAnimation
};
export default Animate;
================================================
FILE: src/lcov-report/base.css
================================================
body, html {
margin:0; padding: 0;
height: 100%;
}
body {
font-family: Helvetica Neue, Helvetica, Arial;
font-size: 14px;
color:#333;
}
.small { font-size: 12px; }
*, *:after, *:before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
h1 { font-size: 20px; margin: 0;}
h2 { font-size: 14px; }
pre {
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
margin: 0;
padding: 0;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
}
a { color:#0074D9; text-decoration:none; }
a:hover { text-decoration:underline; }
.strong { font-weight: bold; }
.space-top1 { padding: 10px 0 0 0; }
.pad2y { padding: 20px 0; }
.pad1y { padding: 10px 0; }
.pad2x { padding: 0 20px; }
.pad2 { padding: 20px; }
.pad1 { padding: 10px; }
.space-left2 { padding-left:55px; }
.space-right2 { padding-right:20px; }
.center { text-align:center; }
.clearfix { display:block; }
.clearfix:after {
content:'';
display:block;
height:0;
clear:both;
visibility:hidden;
}
.fl { float: left; }
@media only screen and (max-width:640px) {
.col3 { width:100%; max-width:100%; }
.hide-mobile { display:none!important; }
}
.quiet {
color: #7f7f7f;
color: rgba(0,0,0,0.5);
}
.quiet a { opacity: 0.7; }
.fraction {
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
font-size: 10px;
color: #555;
background: #E8E8E8;
padding: 4px 5px;
border-radius: 3px;
vertical-align: middle;
}
div.path a:link, div.path a:visited { color: #333; }
table.coverage {
border-collapse: collapse;
margin: 10px 0 0 0;
padding: 0;
}
table.coverage td {
margin: 0;
padding: 0;
vertical-align: top;
}
table.coverage td.line-count {
text-align: right;
padding: 0 5px 0 20px;
}
table.coverage td.line-coverage {
text-align: right;
padding-right: 10px;
min-width:20px;
}
table.coverage td span.cline-any {
display: inline-block;
padding: 0 5px;
width: 100%;
}
.missing-if-branch {
display: inline-block;
margin-right: 5px;
border-radius: 3px;
position: relative;
padding: 0 4px;
background: #333;
color: yellow;
}
.skip-if-branch {
display: none;
margin-right: 10px;
position: relative;
padding: 0 4px;
background: #ccc;
color: white;
}
.missing-if-branch .typ, .skip-if-branch .typ {
color: inherit !important;
}
.coverage-summary {
border-collapse: collapse;
width: 100%;
}
.coverage-summary tr { border-bottom: 1px solid #bbb; }
.keyline-all { border: 1px solid #ddd; }
.coverage-summary td, .coverage-summary th { padding: 10px; }
.coverage-summary tbody { border: 1px solid #bbb; }
.coverage-summary td { border-right: 1px solid #bbb; }
.coverage-summary td:last-child { border-right: none; }
.coverage-summary th {
text-align: left;
font-weight: normal;
white-space: nowrap;
}
.coverage-summary th.file { border-right: none !important; }
.coverage-summary th.pct { }
.coverage-summary th.pic,
.coverage-summary th.abs,
.coverage-summary td.pct,
.coverage-summary td.abs { text-align: right; }
.coverage-summary td.file { white-space: nowrap; }
.coverage-summary td.pic { min-width: 120px !important; }
.coverage-summary tfoot td { }
.coverage-summary .sorter {
height: 10px;
width: 7px;
display: inline-block;
margin-left: 0.5em;
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
}
.coverage-summary .sorted .sorter {
background-position: 0 -20px;
}
.coverage-summary .sorted-desc .sorter {
background-position: 0 -10px;
}
.status-line { height: 10px; }
/* dark red */
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
.low .chart { border:1px solid #C21F39 }
/* medium red */
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
/* light red */
.low, .cline-no { background:#FCE1E5 }
/* light green */
.high, .cline-yes { background:rgb(230,245,208) }
/* medium green */
.cstat-yes { background:rgb(161,215,106) }
/* dark green */
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
.high .chart { border:1px solid rgb(77,146,33) }
.medium .chart { border:1px solid #666; }
.medium .cover-fill { background: #666; }
.cbranch-no { background: yellow !important; color: #111; }
.cstat-skip { background: #ddd; color: #111; }
.fstat-skip { background: #ddd; color: #111 !important; }
.cbranch-skip { background: #ddd !important; color: #111; }
span.cline-neutral { background: #eaeaea; }
.medium { background: #eaeaea; }
.cover-fill, .cover-empty {
display:inline-block;
height: 12px;
}
.chart {
line-height: 0;
}
.cover-empty {
background: white;
}
.cover-full {
border-right: none !important;
}
pre.prettyprint {
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
.com { color: #999 !important; }
.ignore-none { color: #999; font-weight: normal; }
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -48px;
}
.footer, .push {
height: 48px;
}
================================================
FILE: src/lcov-report/index.html
================================================
Code coverage report for All files
All files
0.87%
Statements
10/1156
0%
Branches
0/308
4.97%
Functions
8/161
1.81%
Lines
10/553
================================================
FILE: src/lcov-report/prettify.css
================================================
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
================================================
FILE: src/lcov-report/prettify.js
================================================
window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^