Merge pull request #165 from sarbbottam/master

Unified formatting and refactored Gruntfile.js
This commit is contained in:
Daniel Eden 2014-03-07 08:32:33 -08:00
commit 09338c7304
69 changed files with 847 additions and 699 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
.sass-cache .sass-cache
node_modules/ node_modules/
.DS_Store .DS_Store

View File

@ -2,79 +2,78 @@ module.exports = function(grunt) {
require('load-grunt-tasks')(grunt); require('load-grunt-tasks')(grunt);
pkg: grunt.file.readJSON('package.json'), var concatAnim;
grunt.initConfig({ grunt.initConfig({
// Concatenate CSS files pkg: grunt.file.readJSON('package.json'),
concat: { concat: {
dist: { dist: {
src: [ src: [ 'source/_base.css', 'source/**/*.css' ], // _base.css required for .animated helper class
// _base.css required for .animated helper class
'source/_base.css',
'source/**/*.css'
],
dest: 'animate.css' dest: 'animate.css'
} }
}, },
// Auto-prefix CSS properties using Can I Use? autoprefixer: { // https://github.com/nDmitry/grunt-autoprefixer
autoprefixer: {
options: { options: {
browsers: ['last 3 versions', 'bb 10', 'android 3'] browsers: ['last 3 versions', 'bb 10', 'android 3']
}, },
no_dest: { no_dest: {
// File to output src: 'animate.css' // output file
src: 'animate.css' }
},
}, },
// Minify CSS
cssmin: { cssmin: {
minify: { minify: {
src: ['animate.css'], src: ['animate.css'],
dest: 'animate.min.css', dest: 'animate.min.css',
}, }
}, },
// Watch files for changes
watch: { watch: {
css: { css: {
files: [ files: [ 'source/**/*', 'animate-config.json' ],
'source/**/*', tasks: ['default']
'!node_modules',
'animate-config.json'
],
// Run Sass, autoprefixer, and CSSO
tasks: ['concat-anim', 'autoprefixer', 'cssmin'],
} }
} }
}); });
// Register our tasks // fuction to perform custom task
grunt.registerTask('default', ['concat-anim', 'autoprefixer', 'cssmin', 'watch']); concatAnim = function () {
grunt.registerTask('concat-anim', 'Concatenates activated animations', function () { var categories = grunt.file.readJSON('animate-config.json'),
var config = grunt.file.readJSON('animate-config.json'), category, files, file,
target = [ 'source/_base.css' ], target = [ 'source/_base.css' ],
count = 0 count = 0;
for (var cat in config) { for ( category in categories ) {
for (var file in config[cat]) { if ( categories.hasOwnProperty(category) ) {
if (config[cat][file]) { files = categories[category]
target.push('source/' + cat + '/' + file + '.css') for (file in files) {
count++ if ( files.hasOwnProperty(file) && files[file] ) {
target.push('source/' + category + '/' + file + '.css');
count += 1;
}
} }
} }
} }
if (!count) { if (!count) {
grunt.log.writeln('No animations activated.') grunt.log.writeln('No animations activated.');
} else {
grunt.log.writeln(count + (count > 1 ? ' animations' : ' animation') + ' activated.');
} }
grunt.log.writeln(count + (count > 1 ? ' animations' : ' animation') + ' activated.') grunt.config('concat', { 'animate.css': target });
grunt.task.run('concat');
};
// register task
grunt.registerTask('concat-anim', 'Concatenates activated animations', concatAnim); // custom task
grunt.registerTask('default', ['concat-anim', 'autoprefixer', 'cssmin']);
grunt.registerTask('dev', ['watch']);
grunt.config('concat', { 'animate.css': target })
grunt.task.run('concat')
});
}; };

View File

@ -8,7 +8,7 @@ To use animate.css in your website, simply drop the stylesheet into your documen
```html ```html
<head> <head>
<link rel="stylesheet" href="animate.min.css"> <link rel="stylesheet" href="animate.min.css">
</head> </head>
``` ```
@ -34,9 +34,9 @@ You can change the duration of your animations, add a delay or change the number
```css ```css
#yourElement { #yourElement {
-vendor-animation-duration: 3s; -vendor-animation-duration: 3s;
-vendor-animation-delay: 2s; -vendor-animation-delay: 2s;
-vendor-animation-iteration-count: infinite; -vendor-animation-iteration-count: infinite;
} }
``` ```

View File

@ -95,4 +95,4 @@
"rollOut": true "rollOut": true
} }
} }

4
animate.css vendored
View File

@ -2661,11 +2661,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
80% { 80% {
-webkit-transform: rotate(60deg) translateY(0); -webkit-transform: rotate(60deg) translateY(0);
transform: rotate(60deg) translateY(0); transform: rotate(60deg) translateY(0);
opacity: 1;
-webkit-transform-origin: top left; -webkit-transform-origin: top left;
transform-origin: top left; transform-origin: top left;
-webkit-animation-timing-function: ease-in-out; -webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out; animation-timing-function: ease-in-out;
opacity: 1;
} }
100% { 100% {
@ -2713,12 +2713,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
-webkit-transform: rotate(60deg) translateY(0); -webkit-transform: rotate(60deg) translateY(0);
-ms-transform: rotate(60deg) translateY(0); -ms-transform: rotate(60deg) translateY(0);
transform: rotate(60deg) translateY(0); transform: rotate(60deg) translateY(0);
opacity: 1;
-webkit-transform-origin: top left; -webkit-transform-origin: top left;
-ms-transform-origin: top left; -ms-transform-origin: top left;
transform-origin: top left; transform-origin: top left;
-webkit-animation-timing-function: ease-in-out; -webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out; animation-timing-function: ease-in-out;
opacity: 1;
} }
100% { 100% {

2
animate.min.css vendored

File diff suppressed because one or more lines are too long

View File

@ -18,5 +18,5 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
} }
.animated.hinge { .animated.hinge {
animation-duration: 2s; animation-duration: 2s;
} }

View File

@ -1,9 +1,17 @@
@keyframes bounce { @keyframes bounce {
0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 0%, 20%, 50%, 80%, 100% {
40% {transform: translateY(-30px);} transform: translateY(0);
60% {transform: translateY(-15px);} }
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
} }
.bounce { .bounce {
animation-name: bounce; animation-name: bounce;
} }

View File

@ -1,8 +1,13 @@
@keyframes flash { @keyframes flash {
0%, 50%, 100% {opacity: 1;} 0%, 50%, 100% {
25%, 75% {opacity: 0;} opacity: 1;
}
25%, 75% {
opacity: 0;
}
} }
.flash { .flash {
animation-name: flash; animation-name: flash;
} }

View File

@ -1,11 +1,19 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse { @keyframes pulse {
0% { transform: scale(1); } 0% {
50% { transform: scale(1.1); } transform: scale(1);
100% { transform: scale(1); } }
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
} }
.pulse { .pulse {
animation-name: pulse; animation-name: pulse;
} }

View File

@ -1,11 +1,25 @@
@keyframes rubberBand { @keyframes rubberBand {
0% { transform: scale(1); } 0% {
30% { transform: scaleX(1.25) scaleY(0.75); } transform: scale(1);
40% { transform: scaleX(0.75) scaleY(1.25); } }
60% { transform: scaleX(1.15) scaleY(0.85); }
100% { transform: scale(1); } 30% {
transform: scaleX(1.25) scaleY(0.75);
}
40% {
transform: scaleX(0.75) scaleY(1.25);
}
60% {
transform: scaleX(1.15) scaleY(0.85);
}
100% {
transform: scale(1);
}
} }
.rubberBand { .rubberBand {
animation-name: rubberBand; animation-name: rubberBand;
} }

View File

@ -1,9 +1,17 @@
@keyframes shake { @keyframes shake {
0%, 100% {transform: translateX(0);} 0%, 100% {
10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);} transform: translateX(0);
20%, 40%, 60%, 80% {transform: translateX(10px);} }
10%, 30%, 50%, 70%, 90% {
transform: translateX(-10px);
}
20%, 40%, 60%, 80% {
transform: translateX(10px);
}
} }
.shake { .shake {
animation-name: shake; animation-name: shake;
} }

View File

@ -1,12 +1,26 @@
@keyframes swing { @keyframes swing {
20% { transform: rotate(15deg); } 20% {
40% { transform: rotate(-10deg); } transform: rotate(15deg);
60% { transform: rotate(5deg); } }
80% { transform: rotate(-5deg); }
100% { transform: rotate(0deg); } 40% {
transform: rotate(-10deg);
}
60% {
transform: rotate(5deg);
}
80% {
transform: rotate(-5deg);
}
100% {
transform: rotate(0deg);
}
} }
.swing { .swing {
transform-origin: top center; transform-origin: top center;
animation-name: swing; animation-name: swing;
} }

View File

@ -1,11 +1,25 @@
@keyframes tada { @keyframes tada {
0% {transform: scale(1);} 0% {
10%, 20% {transform: scale(0.9) rotate(-3deg);} transform: scale(1);
30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);} }
40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
100% {transform: scale(1) rotate(0);} 10%, 20% {
transform: scale(0.9) rotate(-3deg);
}
30%, 50%, 70%, 90% {
transform: scale(1.1) rotate(3deg);
}
40%, 60%, 80% {
transform: scale(1.1) rotate(-3deg);
}
100% {
transform: scale(1) rotate(0);
}
} }
.tada { .tada {
animation-name: tada; animation-name: tada;
} }

View File

@ -1,15 +1,35 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble { @keyframes wobble {
0% { transform: translateX(0%); } 0% {
15% { transform: translateX(-25%) rotate(-5deg); } transform: translateX(0%);
30% { transform: translateX(20%) rotate(3deg); } }
45% { transform: translateX(-15%) rotate(-3deg); }
60% { transform: translateX(10%) rotate(2deg); } 15% {
75% { transform: translateX(-5%) rotate(-1deg); } transform: translateX(-25%) rotate(-5deg);
100% { transform: translateX(0%); } }
30% {
transform: translateX(20%) rotate(3deg);
}
45% {
transform: translateX(-15%) rotate(-3deg);
}
60% {
transform: translateX(10%) rotate(2deg);
}
75% {
transform: translateX(-5%) rotate(-1deg);
}
100% {
transform: translateX(0%);
}
} }
.wobble { .wobble {
animation-name: wobble; animation-name: wobble;
} }

View File

@ -1,24 +1,24 @@
@keyframes bounceIn { @keyframes bounceIn {
0% { 0% {
opacity: 0; opacity: 0;
transform: scale(.3); transform: scale(.3);
} }
50% { 50% {
opacity: 1; opacity: 1;
transform: scale(1.05); transform: scale(1.05);
} }
70% { 70% {
transform: scale(.9); transform: scale(.9);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: scale(1); transform: scale(1);
} }
} }
.bounceIn { .bounceIn {
animation-name: bounceIn; animation-name: bounceIn;
} }

View File

@ -1,23 +1,23 @@
@keyframes bounceInDown { @keyframes bounceInDown {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(-2000px); transform: translateY(-2000px);
} }
60% { 60% {
opacity: 1; opacity: 1;
transform: translateY(30px); transform: translateY(30px);
} }
80% { 80% {
transform: translateY(-10px); transform: translateY(-10px);
} }
100% { 100% {
transform: translateY(0); transform: translateY(0);
} }
} }
.bounceInDown { .bounceInDown {
animation-name: bounceInDown; animation-name: bounceInDown;
} }

View File

@ -1,23 +1,23 @@
@keyframes bounceInLeft { @keyframes bounceInLeft {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(-2000px); transform: translateX(-2000px);
} }
60% { 60% {
opacity: 1; opacity: 1;
transform: translateX(30px); transform: translateX(30px);
} }
80% { 80% {
transform: translateX(-10px); transform: translateX(-10px);
} }
100% { 100% {
transform: translateX(0); transform: translateX(0);
} }
} }
.bounceInLeft { .bounceInLeft {
animation-name: bounceInLeft; animation-name: bounceInLeft;
} }

View File

@ -1,23 +1,23 @@
@keyframes bounceInRight { @keyframes bounceInRight {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(2000px); transform: translateX(2000px);
} }
60% { 60% {
opacity: 1; opacity: 1;
transform: translateX(-30px); transform: translateX(-30px);
} }
80% { 80% {
transform: translateX(10px); transform: translateX(10px);
} }
100% { 100% {
transform: translateX(0); transform: translateX(0);
} }
} }
.bounceInRight { .bounceInRight {
animation-name: bounceInRight; animation-name: bounceInRight;
} }

View File

@ -1,23 +1,23 @@
@keyframes bounceInUp { @keyframes bounceInUp {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(2000px); transform: translateY(2000px);
} }
60% { 60% {
opacity: 1; opacity: 1;
transform: translateY(-30px); transform: translateY(-30px);
} }
80% { 80% {
transform: translateY(10px); transform: translateY(10px);
} }
100% { 100% {
transform: translateY(0); transform: translateY(0);
} }
} }
.bounceInUp { .bounceInUp {
animation-name: bounceInUp; animation-name: bounceInUp;
} }

View File

@ -1,23 +1,23 @@
@keyframes bounceOut { @keyframes bounceOut {
0% { 0% {
transform: scale(1); transform: scale(1);
} }
25% { 25% {
transform: scale(.95); transform: scale(.95);
} }
50% { 50% {
opacity: 1; opacity: 1;
transform: scale(1.1); transform: scale(1.1);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: scale(.3); transform: scale(.3);
} }
} }
.bounceOut { .bounceOut {
animation-name: bounceOut; animation-name: bounceOut;
} }

View File

@ -1,19 +1,19 @@
@keyframes bounceOutDown { @keyframes bounceOutDown {
0% { 0% {
transform: translateY(0); transform: translateY(0);
} }
20% { 20% {
opacity: 1; opacity: 1;
transform: translateY(-20px); transform: translateY(-20px);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateY(2000px); transform: translateY(2000px);
} }
} }
.bounceOutDown { .bounceOutDown {
animation-name: bounceOutDown; animation-name: bounceOutDown;
} }

View File

@ -1,19 +1,19 @@
@keyframes bounceOutLeft { @keyframes bounceOutLeft {
0% { 0% {
transform: translateX(0); transform: translateX(0);
} }
20% { 20% {
opacity: 1; opacity: 1;
transform: translateX(20px); transform: translateX(20px);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(-2000px); transform: translateX(-2000px);
} }
} }
.bounceOutLeft { .bounceOutLeft {
animation-name: bounceOutLeft; animation-name: bounceOutLeft;
} }

View File

@ -1,19 +1,19 @@
@keyframes bounceOutRight { @keyframes bounceOutRight {
0% { 0% {
transform: translateX(0); transform: translateX(0);
} }
20% { 20% {
opacity: 1; opacity: 1;
transform: translateX(-20px); transform: translateX(-20px);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(2000px); transform: translateX(2000px);
} }
} }
.bounceOutRight { .bounceOutRight {
animation-name: bounceOutRight; animation-name: bounceOutRight;
} }

View File

@ -1,19 +1,19 @@
@keyframes bounceOutUp { @keyframes bounceOutUp {
0% { 0% {
transform: translateY(0); transform: translateY(0);
} }
20% { 20% {
opacity: 1; opacity: 1;
transform: translateY(20px); transform: translateY(20px);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateY(-2000px); transform: translateY(-2000px);
} }
} }
.bounceOutUp { .bounceOutUp {
animation-name: bounceOutUp; animation-name: bounceOutUp;
} }

View File

@ -1,8 +1,8 @@
@keyframes fadeIn { @keyframes fadeIn {
0% {opacity: 0;} 0% {opacity: 0;}
100% {opacity: 1;} 100% {opacity: 1;}
} }
.fadeIn { .fadeIn {
animation-name: fadeIn; animation-name: fadeIn;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInDown { @keyframes fadeInDown {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(-20px); transform: translateY(-20px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
} }
.fadeInDown { .fadeInDown {
animation-name: fadeInDown; animation-name: fadeInDown;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInDownBig { @keyframes fadeInDownBig {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(-2000px); transform: translateY(-2000px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
} }
.fadeInDownBig { .fadeInDownBig {
animation-name: fadeInDownBig; animation-name: fadeInDownBig;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInLeft { @keyframes fadeInLeft {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(-20px); transform: translateX(-20px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
} }
.fadeInLeft { .fadeInLeft {
animation-name: fadeInLeft; animation-name: fadeInLeft;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInLeftBig { @keyframes fadeInLeftBig {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(-2000px); transform: translateX(-2000px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
} }
.fadeInLeftBig { .fadeInLeftBig {
animation-name: fadeInLeftBig; animation-name: fadeInLeftBig;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInRight { @keyframes fadeInRight {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(20px); transform: translateX(20px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
} }
.fadeInRight { .fadeInRight {
animation-name: fadeInRight; animation-name: fadeInRight;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInRightBig { @keyframes fadeInRightBig {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(2000px); transform: translateX(2000px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
} }
.fadeInRightBig { .fadeInRightBig {
animation-name: fadeInRightBig; animation-name: fadeInRightBig;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInUp { @keyframes fadeInUp {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(20px); transform: translateY(20px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
} }
.fadeInUp { .fadeInUp {
animation-name: fadeInUp; animation-name: fadeInUp;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeInUpBig { @keyframes fadeInUpBig {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(2000px); transform: translateY(2000px);
} }
100% { 100% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
} }
.fadeInUpBig { .fadeInUpBig {
animation-name: fadeInUpBig; animation-name: fadeInUpBig;
} }

View File

@ -1,8 +1,8 @@
@keyframes fadeOut { @keyframes fadeOut {
0% {opacity: 1;} 0% {opacity: 1;}
100% {opacity: 0;} 100% {opacity: 0;}
} }
.fadeOut { .fadeOut {
animation-name: fadeOut; animation-name: fadeOut;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutDown { @keyframes fadeOutDown {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateY(20px); transform: translateY(20px);
} }
} }
.fadeOutDown { .fadeOutDown {
animation-name: fadeOutDown; animation-name: fadeOutDown;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutDownBig { @keyframes fadeOutDownBig {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateY(2000px); transform: translateY(2000px);
} }
} }
.fadeOutDownBig { .fadeOutDownBig {
animation-name: fadeOutDownBig; animation-name: fadeOutDownBig;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutLeft { @keyframes fadeOutLeft {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(-20px); transform: translateX(-20px);
} }
} }
.fadeOutLeft { .fadeOutLeft {
animation-name: fadeOutLeft; animation-name: fadeOutLeft;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutLeftBig { @keyframes fadeOutLeftBig {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(-2000px); transform: translateX(-2000px);
} }
} }
.fadeOutLeftBig { .fadeOutLeftBig {
animation-name: fadeOutLeftBig; animation-name: fadeOutLeftBig;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutRight { @keyframes fadeOutRight {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(20px); transform: translateX(20px);
} }
} }
.fadeOutRight { .fadeOutRight {
animation-name: fadeOutRight; animation-name: fadeOutRight;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutRightBig { @keyframes fadeOutRightBig {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateX(0); transform: translateX(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(2000px); transform: translateX(2000px);
} }
} }
.fadeOutRightBig { .fadeOutRightBig {
animation-name: fadeOutRightBig; animation-name: fadeOutRightBig;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutUp { @keyframes fadeOutUp {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateY(-20px); transform: translateY(-20px);
} }
} }
.fadeOutUp { .fadeOutUp {
animation-name: fadeOutUp; animation-name: fadeOutUp;
} }

View File

@ -1,15 +1,15 @@
@keyframes fadeOutUpBig { @keyframes fadeOutUpBig {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateY(-2000px); transform: translateY(-2000px);
} }
} }
.fadeOutUpBig { .fadeOutUpBig {
animation-name: fadeOutUpBig; animation-name: fadeOutUpBig;
} }

View File

@ -1,27 +1,31 @@
@keyframes flip { @keyframes flip {
0% { 0% {
transform: perspective(400px) translateZ(0) rotateY(0) scale(1); transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
animation-timing-function: ease-out; animation-timing-function: ease-out;
} }
40% {
transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); 40% {
animation-timing-function: ease-out; transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
} animation-timing-function: ease-out;
50% { }
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
animation-timing-function: ease-in; 50% {
} transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
80% { animation-timing-function: ease-in;
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); }
animation-timing-function: ease-in;
} 80% {
100% { transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); animation-timing-function: ease-in;
animation-timing-function: ease-in; }
}
100% {
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
animation-timing-function: ease-in;
}
} }
.animated.flip { .animated.flip {
backface-visibility: visible; backface-visibility: visible;
animation-name: flip; animation-name: flip;
} }

View File

@ -1,24 +1,24 @@
@keyframes flipInX { @keyframes flipInX {
0% { 0% {
transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg);
opacity: 0; opacity: 0;
} }
40% { 40% {
transform: perspective(400px) rotateX(-10deg); transform: perspective(400px) rotateX(-10deg);
} }
70% { 70% {
transform: perspective(400px) rotateX(10deg); transform: perspective(400px) rotateX(10deg);
} }
100% { 100% {
transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg);
opacity: 1; opacity: 1;
} }
} }
.flipInX { .flipInX {
backface-visibility: visible !important; backface-visibility: visible !important;
animation-name: flipInX; animation-name: flipInX;
} }

View File

@ -1,24 +1,24 @@
@keyframes flipInY { @keyframes flipInY {
0% { 0% {
transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg);
opacity: 0; opacity: 0;
} }
40% { 40% {
transform: perspective(400px) rotateY(-10deg); transform: perspective(400px) rotateY(-10deg);
} }
70% { 70% {
transform: perspective(400px) rotateY(10deg); transform: perspective(400px) rotateY(10deg);
} }
100% { 100% {
transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg);
opacity: 1; opacity: 1;
} }
} }
.flipInY { .flipInY {
backface-visibility: visible !important; backface-visibility: visible !important;
animation-name: flipInY; animation-name: flipInY;
} }

View File

@ -1,15 +1,16 @@
@keyframes flipOutX { @keyframes flipOutX {
0% { 0% {
transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg);
opacity: 1; opacity: 1;
} }
100% {
transform: perspective(400px) rotateX(90deg); 100% {
opacity: 0; transform: perspective(400px) rotateX(90deg);
} opacity: 0;
}
} }
.flipOutX { .flipOutX {
animation-name: flipOutX; animation-name: flipOutX;
backface-visibility: visible !important; backface-visibility: visible !important;
} }

View File

@ -1,15 +1,16 @@
@keyframes flipOutY { @keyframes flipOutY {
0% { 0% {
transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg);
opacity: 1; opacity: 1;
} }
100% {
transform: perspective(400px) rotateY(90deg); 100% {
opacity: 0; transform: perspective(400px) rotateY(90deg);
} opacity: 0;
}
} }
.flipOutY { .flipOutY {
backface-visibility: visible !important; backface-visibility: visible !important;
animation-name: flipOutY; animation-name: flipOutY;
} }

View File

@ -1,11 +1,26 @@
@keyframes lightSpeedIn { @keyframes lightSpeedIn {
0% { transform: translateX(100%) skewX(-30deg); opacity: 0; } 0% {
60% { transform: translateX(-20%) skewX(30deg); opacity: 1; } transform: translateX(100%) skewX(-30deg);
80% { transform: translateX(0%) skewX(-15deg); opacity: 1; } opacity: 0;
100% { transform: translateX(0%) skewX(0deg); opacity: 1; } }
60% {
transform: translateX(-20%) skewX(30deg);
opacity: 1;
}
80% {
transform: translateX(0%) skewX(-15deg);
opacity: 1;
}
100% {
transform: translateX(0%) skewX(0deg);
opacity: 1;
}
} }
.lightSpeedIn { .lightSpeedIn {
animation-name: lightSpeedIn; animation-name: lightSpeedIn;
animation-timing-function: ease-out; animation-timing-function: ease-out;
} }

View File

@ -1,10 +1,16 @@
@keyframes lightSpeedOut { @keyframes lightSpeedOut {
0% { transform: translateX(0%) skewX(0deg); opacity: 1; } 0% {
100% { transform: translateX(100%) skewX(-30deg); opacity: 0; } transform: translateX(0%) skewX(0deg);
opacity: 1;
}
100% {
transform: translateX(100%) skewX(-30deg);
opacity: 0;
}
} }
.lightSpeedOut { .lightSpeedOut {
animation-name: lightSpeedOut; animation-name: lightSpeedOut;
animation-timing-function: ease-in;
animation-timing-function: ease-in; }
}

View File

@ -1,17 +1,17 @@
@keyframes rotateIn { @keyframes rotateIn {
0% { 0% {
transform-origin: center center; transform-origin: center center;
transform: rotate(-200deg); transform: rotate(-200deg);
opacity: 0; opacity: 0;
} }
100% { 100% {
transform-origin: center center; transform-origin: center center;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
} }
.rotateIn { .rotateIn {
animation-name: rotateIn; animation-name: rotateIn;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateInDownLeft { @keyframes rotateInDownLeft {
0% { 0% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(-90deg); transform: rotate(-90deg);
opacity: 0; opacity: 0;
} }
100% { 100% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
} }
.rotateInDownLeft { .rotateInDownLeft {
animation-name: rotateInDownLeft; animation-name: rotateInDownLeft;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateInDownRight { @keyframes rotateInDownRight {
0% { 0% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(90deg); transform: rotate(90deg);
opacity: 0; opacity: 0;
} }
100% { 100% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
} }
.rotateInDownRight { .rotateInDownRight {
animation-name: rotateInDownRight; animation-name: rotateInDownRight;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateInUpLeft { @keyframes rotateInUpLeft {
0% { 0% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(90deg); transform: rotate(90deg);
opacity: 0; opacity: 0;
} }
100% { 100% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
} }
.rotateInUpLeft { .rotateInUpLeft {
animation-name: rotateInUpLeft; animation-name: rotateInUpLeft;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateInUpRight { @keyframes rotateInUpRight {
0% { 0% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(-90deg); transform: rotate(-90deg);
opacity: 0; opacity: 0;
} }
100% { 100% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
} }
.rotateInUpRight { .rotateInUpRight {
animation-name: rotateInUpRight; animation-name: rotateInUpRight;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateOut { @keyframes rotateOut {
0% { 0% {
transform-origin: center center; transform-origin: center center;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
100% { 100% {
transform-origin: center center; transform-origin: center center;
transform: rotate(200deg); transform: rotate(200deg);
opacity: 0; opacity: 0;
} }
} }
.rotateOut { .rotateOut {
animation-name: rotateOut; animation-name: rotateOut;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateOutDownLeft { @keyframes rotateOutDownLeft {
0% { 0% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
100% { 100% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(90deg); transform: rotate(90deg);
opacity: 0; opacity: 0;
} }
} }
.rotateOutDownLeft { .rotateOutDownLeft {
animation-name: rotateOutDownLeft; animation-name: rotateOutDownLeft;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateOutDownRight { @keyframes rotateOutDownRight {
0% { 0% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
100% { 100% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(-90deg); transform: rotate(-90deg);
opacity: 0; opacity: 0;
} }
} }
.rotateOutDownRight { .rotateOutDownRight {
animation-name: rotateOutDownRight; animation-name: rotateOutDownRight;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateOutUpLeft { @keyframes rotateOutUpLeft {
0% { 0% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
100% { 100% {
transform-origin: left bottom; transform-origin: left bottom;
transform: rotate(-90deg); transform: rotate(-90deg);
opacity: 0; opacity: 0;
} }
} }
.rotateOutUpLeft { .rotateOutUpLeft {
animation-name: rotateOutUpLeft; animation-name: rotateOutUpLeft;
} }

View File

@ -1,17 +1,17 @@
@keyframes rotateOutUpRight { @keyframes rotateOutUpRight {
0% { 0% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(0); transform: rotate(0);
opacity: 1; opacity: 1;
} }
100% { 100% {
transform-origin: right bottom; transform-origin: right bottom;
transform: rotate(90deg); transform: rotate(90deg);
opacity: 0; opacity: 0;
} }
} }
.rotateOutUpRight { .rotateOutUpRight {
animation-name: rotateOutUpRight; animation-name: rotateOutUpRight;
} }

View File

@ -1,14 +1,14 @@
@keyframes slideInDown { @keyframes slideInDown {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(-2000px); transform: translateY(-2000px);
} }
100% { 100% {
transform: translateY(0); transform: translateY(0);
} }
} }
.slideInDown { .slideInDown {
animation-name: slideInDown; animation-name: slideInDown;
} }

View File

@ -1,14 +1,14 @@
@keyframes slideInLeft { @keyframes slideInLeft {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(-2000px); transform: translateX(-2000px);
} }
100% { 100% {
transform: translateX(0); transform: translateX(0);
} }
} }
.slideInLeft { .slideInLeft {
animation-name: slideInLeft; animation-name: slideInLeft;
} }

View File

@ -1,14 +1,14 @@
@keyframes slideInRight { @keyframes slideInRight {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateX(2000px); transform: translateX(2000px);
} }
100% { 100% {
transform: translateX(0); transform: translateX(0);
} }
} }
.slideInRight { .slideInRight {
animation-name: slideInRight; animation-name: slideInRight;
} }

View File

@ -1,14 +1,14 @@
@keyframes slideOutLeft { @keyframes slideOutLeft {
0% { 0% {
transform: translateX(0); transform: translateX(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(-2000px); transform: translateX(-2000px);
} }
} }
.slideOutLeft { .slideOutLeft {
animation-name: slideOutLeft; animation-name: slideOutLeft;
} }

View File

@ -1,14 +1,14 @@
@keyframes slideOutRight { @keyframes slideOutRight {
0% { 0% {
transform: translateX(0); transform: translateX(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(2000px); transform: translateX(2000px);
} }
} }
.slideOutRight { .slideOutRight {
animation-name: slideOutRight; animation-name: slideOutRight;
} }

View File

@ -1,14 +1,14 @@
@keyframes slideOutUp { @keyframes slideOutUp {
0% { 0% {
transform: translateY(0); transform: translateY(0);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateY(-2000px); transform: translateY(-2000px);
} }
} }
.slideOutUp { .slideOutUp {
animation-name: slideOutUp; animation-name: slideOutUp;
} }

View File

@ -1,11 +1,35 @@
@keyframes hinge { @keyframes hinge {
0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; } 0% {
20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; } transform: rotate(0);
40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; } transform-origin: top left;
80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; } animation-timing-function: ease-in-out;
100% { transform: translateY(700px); opacity: 0; } }
20%, 60% {
transform: rotate(80deg);
transform-origin: top left;
animation-timing-function: ease-in-out;
}
40% {
transform: rotate(60deg);
transform-origin: top left;
animation-timing-function: ease-in-out;
}
80% {
transform: rotate(60deg) translateY(0);
transform-origin: top left;
animation-timing-function: ease-in-out;
opacity: 1;
}
100% {
transform: translateY(700px);
opacity: 0;
}
} }
.hinge { .hinge {
animation-name: hinge; animation-name: hinge;
} }

View File

@ -1,10 +1,17 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn { @keyframes rollIn {
0% { opacity: 0; transform: translateX(-100%) rotate(-120deg); } 0% {
100% { opacity: 1; transform: translateX(0px) rotate(0deg); } opacity: 0;
transform: translateX(-100%) rotate(-120deg);
}
100% {
opacity: 1;
transform: translateX(0px) rotate(0deg);
}
} }
.rollIn { .rollIn {
animation-name: rollIn; animation-name: rollIn;
} }

View File

@ -1,17 +1,17 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut { @keyframes rollOut {
0% { 0% {
opacity: 1; opacity: 1;
transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg);
} }
100% { 100% {
opacity: 0; opacity: 0;
transform: translateX(100%) rotate(120deg); transform: translateX(100%) rotate(120deg);
} }
} }
.rollOut { .rollOut {
animation-name: rollOut; animation-name: rollOut;
} }