mirror of
https://github.com/animate-css/animate.css.git
synced 2024-09-28 22:11:31 +02:00
Merge pull request #165 from sarbbottam/master
Unified formatting and refactored Gruntfile.js
This commit is contained in:
commit
09338c7304
73
Gruntfile.js
73
Gruntfile.js
@ -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')
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
4
animate.css
vendored
4
animate.css
vendored
@ -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
2
animate.min.css
vendored
File diff suppressed because one or more lines are too long
@ -1,7 +1,15 @@
|
|||||||
@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 {
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
@keyframes flash {
|
@keyframes flash {
|
||||||
0%, 50%, 100% {opacity: 1;}
|
0%, 50%, 100% {
|
||||||
25%, 75% {opacity: 0;}
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
25%, 75% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.flash {
|
.flash {
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
/* 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 {
|
||||||
|
@ -1,9 +1,23 @@
|
|||||||
@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 {
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
@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 {
|
||||||
|
@ -1,9 +1,23 @@
|
|||||||
@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 {
|
||||||
|
@ -1,9 +1,23 @@
|
|||||||
@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 {
|
||||||
|
@ -1,13 +1,33 @@
|
|||||||
/* 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 {
|
||||||
|
@ -3,18 +3,22 @@
|
|||||||
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% {
|
40% {
|
||||||
transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
|
transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
|
||||||
animation-timing-function: ease-out;
|
animation-timing-function: ease-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
50% {
|
50% {
|
||||||
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
|
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
|
||||||
animation-timing-function: ease-in;
|
animation-timing-function: ease-in;
|
||||||
}
|
}
|
||||||
|
|
||||||
80% {
|
80% {
|
||||||
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
|
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
|
||||||
animation-timing-function: ease-in;
|
animation-timing-function: ease-in;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
|
transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
|
||||||
animation-timing-function: ease-in;
|
animation-timing-function: ease-in;
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
transform: perspective(400px) rotateX(0deg);
|
transform: perspective(400px) rotateX(0deg);
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
transform: perspective(400px) rotateX(90deg);
|
transform: perspective(400px) rotateX(90deg);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
transform: perspective(400px) rotateY(0deg);
|
transform: perspective(400px) rotateY(0deg);
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
transform: perspective(400px) rotateY(90deg);
|
transform: perspective(400px) rotateY(90deg);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
@ -1,8 +1,23 @@
|
|||||||
@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 {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
@ -1,9 +1,33 @@
|
|||||||
@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 {
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
/* 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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user