added lib_animate

This commit is contained in:
Messerbill 2015-06-09 14:11:10 +02:00
commit 1b177f228d
87 changed files with 5132 additions and 0 deletions

11
.editorconfig Normal file
View File

@ -0,0 +1,11 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
.sass-cache
node_modules/
.DS_Store
test/

3
autoload.inc Normal file
View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'LIB');
\LIB\lib_controll::register('\LIB\lib_animate');

79
lib/Gruntfile.js Normal file
View File

@ -0,0 +1,79 @@
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
var concatAnim;
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
dist: {
src: [ 'source/_base.css', 'source/**/*.css' ], // _base.css required for .animated helper class
dest: 'animate.css'
}
},
autoprefixer: { // https://github.com/nDmitry/grunt-autoprefixer
options: {
browsers: ['last 2 versions', 'bb 10']
},
no_dest: {
src: 'animate.css' // output file
}
},
cssmin: {
minify: {
src: ['animate.css'],
dest: 'animate.min.css',
}
},
watch: {
css: {
files: [ 'source/**/*', 'animate-config.json' ],
tasks: ['default']
}
}
});
// fuction to perform custom task
concatAnim = function () {
var categories = grunt.file.readJSON('animate-config.json'),
category, files, file,
target = [ 'source/_base.css' ],
count = 0;
for ( category in categories ) {
if ( categories.hasOwnProperty(category) ) {
files = categories[category]
for (file in files) {
if ( files.hasOwnProperty(file) && files[file] ) {
target.push('source/' + category + '/' + file + '.css');
count += 1;
}
}
}
}
if (!count) {
grunt.log.writeln('No animations activated.');
} else {
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']);
};

169
lib/README.md Normal file
View File

@ -0,0 +1,169 @@
#Animate.css
*Just-add-water CSS animation*
`animate.css` is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
##Basic Usage
1. Include the stylesheet on your document's `<head>`
```html
<head>
<link rel="stylesheet" href="animate.min.css">
</head>
```
2. Add the class `animated` to the element you want to animate.
You may also want to include the class `infinite` for an infinite loop.
3. Finally you need to add one of the following classes:
* `bounce`
* `flash`
* `pulse`
* `rubberBand`
* `shake`
* `swing`
* `tada`
* `wobble`
* `jello`
* `bounceIn`
* `bounceInDown`
* `bounceInLeft`
* `bounceInRight`
* `bounceInUp`
* `bounceOut`
* `bounceOutDown`
* `bounceOutLeft`
* `bounceOutRight`
* `bounceOutUp`
* `fadeIn`
* `fadeInDown`
* `fadeInDownBig`
* `fadeInLeft`
* `fadeInLeftBig`
* `fadeInRight`
* `fadeInRightBig`
* `fadeInUp`
* `fadeInUpBig`
* `fadeOut`
* `fadeOutDown`
* `fadeOutDownBig`
* `fadeOutLeft`
* `fadeOutLeftBig`
* `fadeOutRight`
* `fadeOutRightBig`
* `fadeOutUp`
* `fadeOutUpBig`
* `flipInX`
* `flipInY`
* `flipOutX`
* `flipOutY`
* `lightSpeedIn`
* `lightSpeedOut`
* `rotateIn`
* `rotateInDownLeft`
* `rotateInDownRight`
* `rotateInUpLeft`
* `rotateInUpRight`
* `rotateOut`
* `rotateOutDownLeft`
* `rotateOutDownRight`
* `rotateOutUpLeft`
* `rotateOutUpRight`
* `hinge`
* `rollIn`
* `rollOut`
* `zoomIn`
* `zoomInDown`
* `zoomInLeft`
* `zoomInRight`
* `zoomInUp`
* `zoomOut`
* `zoomOutDown`
* `zoomOutLeft`
* `zoomOutRight`
* `zoomOutUp`
* `slideInDown`
* `slideInLeft`
* `slideInRight`
* `slideInUp`
* `slideOutDown`
* `slideOutLeft`
* `slideOutRight`
* `slideOutUp`
Full example:
```html
<h1 class="animated infinite bounce">Example</h1>
```
##Usage
To use animate.css in your website, simply drop the stylesheet into your document's `<head>`, and add the class `animated` to an element, along with any of the animation names. That's it! You've got a CSS animated element. Super!
```html
<head>
<link rel="stylesheet" href="animate.min.css">
</head>
```
You can do a whole bunch of other stuff with animate.css when you combine it with jQuery or add your own CSS rules. Dynamically add animations using jQuery with ease:
```javascript
$('#yourElement').addClass('animated bounceOutLeft');
```
You can also detect when an animation ends:
<!--
Before you make changes to this file, you should know that $('#yourElement').one() is *NOT A TYPO*
http://api.jquery.com/one/
-->
```javascript
$('#yourElement').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', doSomething);
```
[View a video tutorial](https://www.youtube.com/watch?v=CBQGl6zokMs) on how to use Animate.css with jQuery here.
**Note:** `jQuery.one()` is used when you want to execute the event handler at most *once*. More information [here](http://api.jquery.com/one/).
You can change the duration of your animations, add a delay or change the number of times that it plays:
```css
#yourElement {
-vendor-animation-duration: 3s;
-vendor-animation-delay: 2s;
-vendor-animation-iteration-count: infinite;
}
```
*Note: be sure to replace "vendor" in the CSS with the applicable vendor prefixes (webkit, moz, etc)*
## Custom Builds
Animate.css is powered by [Grunt](http://gruntjs.com), and you can create custom builds pretty easily. First of all, youll need Grunt and all other dependencies:
```sh
$ cd path/to/animate.css/
$ sudo npm install
```
Next, run `grunt watch` to watch for changes and compile your custom builds. For example, if you want only some of the the “attention seekers”, simply edit the `animate-config.json` file to select only the animations you want to use.
```javascript
"attention_seekers": {
"bounce": true,
"flash": false,
"pulse": false,
"shake": true,
"swing": true,
"tada": true,
"wobble": true,
"jello":true
}
```
## License
Animate.css is licensed under the MIT license. (http://opensource.org/licenses/MIT)
## Contributing
Pull requests are the way to go here. I apologise in advance for the slow action on pull requests and issues. I only have two rules for submitting a pull request: match the naming convention (camelCase, categorised [fades, bounces, etc]) and let us see a demo of submitted animations in a [pen](http://codepen.io). That last one is important.

119
lib/animate-config.json Normal file
View File

@ -0,0 +1,119 @@
{
"attention_seekers": {
"bounce": true,
"flash": true,
"pulse": true,
"rubberBand": true,
"shake": true,
"swing": true,
"tada": true,
"wobble": true,
"jello": true
},
"bouncing_entrances": {
"bounceIn": true,
"bounceInDown": true,
"bounceInLeft": true,
"bounceInRight": true,
"bounceInUp": true
},
"bouncing_exits": {
"bounceOut": true,
"bounceOutDown": true,
"bounceOutLeft": true,
"bounceOutRight": true,
"bounceOutUp": true
},
"fading_entrances": {
"fadeIn": true,
"fadeInDown": true,
"fadeInDownBig": true,
"fadeInLeft": true,
"fadeInLeftBig": true,
"fadeInRight": true,
"fadeInRightBig": true,
"fadeInUp": true,
"fadeInUpBig": true
},
"fading_exits": {
"fadeOut": true,
"fadeOutDown": true,
"fadeOutDownBig": true,
"fadeOutLeft": true,
"fadeOutLeftBig": true,
"fadeOutRight": true,
"fadeOutRightBig": true,
"fadeOutUp": true,
"fadeOutUpBig": true
},
"flippers": {
"flip": true,
"flipInX": true,
"flipInY": true,
"flipOutX": true,
"flipOutY": true
},
"lightspeed": {
"lightSpeedIn": true,
"lightSpeedOut": true
},
"rotating_entrances": {
"rotateIn": true,
"rotateInDownLeft": true,
"rotateInDownRight": true,
"rotateInUpLeft": true,
"rotateInUpRight": true
},
"rotating_exits": {
"rotateOut": true,
"rotateOutDownLeft": true,
"rotateOutDownRight": true,
"rotateOutUpLeft": true,
"rotateOutUpRight": true
},
"specials": {
"hinge": true,
"rollIn": true,
"rollOut": true
},
"zooming_entrances": {
"zoomIn": true,
"zoomInDown": true,
"zoomInLeft": true,
"zoomInRight": true,
"zoomInUp": true
},
"zooming_exits": {
"zoomOut": true,
"zoomOutDown": true,
"zoomOutLeft": true,
"zoomOutRight": true,
"zoomOutUp": true
},
"sliding_entrances": {
"slideInDown": true,
"slideInLeft": true,
"slideInRight": true,
"slideInUp": true
},
"sliding_exits": {
"slideOutDown": true,
"slideOutLeft": true,
"slideOutRight": true,
"slideOutUp": true
}
}

3272
lib/animate.css vendored Normal file

File diff suppressed because it is too large Load Diff

1
lib/animate.min.css vendored Normal file

File diff suppressed because one or more lines are too long

13
lib/bower.json Normal file
View File

@ -0,0 +1,13 @@
{
"name": "animate.css",
"version": "3.2.5",
"main": "./animate.css",
"ignore": [
".*",
"src",
"*.yml",
"Gemfile",
"Gemfile.lock",
"*.md"
]
}

19
lib/package.json Normal file
View File

@ -0,0 +1,19 @@
{
"name": "animate.css",
"version": "3.2.5",
"repository": {
"type": "git",
"url": "https://github.com/daneden/animate.css.git"
},
"devDependencies": {
"grunt": "~0.4.1",
"grunt-autoprefixer": "~0.4.0",
"grunt-contrib-watch": "~0.5.3",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-cssmin": "~0.8.0",
"load-grunt-tasks": "~0.2.0"
},
"spm": {
"main": "./animate.css"
}
}

30
lib/source/_base.css Normal file
View File

@ -0,0 +1,30 @@
@charset "UTF-8";
/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2015 Daniel Eden
*/
.animated {
animation-duration: 1s;
animation-fill-mode: both;
}
.animated.infinite {
animation-iteration-count: infinite;
}
.animated.hinge {
animation-duration: 2s;
}
.animated.bounceIn,
.animated.bounceOut {
animation-duration: .75s;
}
.animated.flipOutX,
.animated.flipOutY {
animation-duration: .75s;
}

View File

@ -0,0 +1,25 @@
@keyframes bounce {
0%, 20%, 53%, 80%, 100% {
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);
}
}
.bounce {
animation-name: bounce;
transform-origin: center bottom;
}

View File

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

View File

@ -0,0 +1,36 @@
@keyframes jello {
11.1% {
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)
}
100% {
transform: none
}
}
.jello{
animation-name:jello;
transform-origin: center
}

View File

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

View File

@ -0,0 +1,33 @@
@keyframes rubberBand {
0% {
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);
}
100% {
transform: scale3d(1, 1, 1);
}
}
.rubberBand {
animation-name: rubberBand;
}

View File

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

View File

@ -0,0 +1,26 @@
@keyframes swing {
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);
}
100% {
transform: rotate3d(0, 0, 1, 0deg);
}
}
.swing {
transform-origin: top center;
animation-name: swing;
}

View File

@ -0,0 +1,25 @@
@keyframes tada {
0% {
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);
}
100% {
transform: scale3d(1, 1, 1);
}
}
.tada {
animation-name: tada;
}

View File

@ -0,0 +1,35 @@
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
0% {
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);
}
100% {
transform: none;
}
}
.wobble {
animation-name: wobble;
}

View File

@ -0,0 +1,36 @@
@keyframes bounceIn {
0%, 20%, 40%, 60%, 80%, 100% {
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);
}
100% {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
.bounceIn {
animation-name: bounceIn;
}

View File

@ -0,0 +1,31 @@
@keyframes bounceInDown {
0%, 60%, 75%, 90%, 100% {
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);
}
100% {
transform: none;
}
}
.bounceInDown {
animation-name: bounceInDown;
}

View File

@ -0,0 +1,31 @@
@keyframes bounceInLeft {
0%, 60%, 75%, 90%, 100% {
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);
}
100% {
transform: none;
}
}
.bounceInLeft {
animation-name: bounceInLeft;
}

View File

@ -0,0 +1,31 @@
@keyframes bounceInRight {
0%, 60%, 75%, 90%, 100% {
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);
}
100% {
transform: none;
}
}
.bounceInRight {
animation-name: bounceInRight;
}

View File

@ -0,0 +1,31 @@
@keyframes bounceInUp {
0%, 60%, 75%, 90%, 100% {
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, -20px, 0);
}
75% {
transform: translate3d(0, 10px, 0);
}
90% {
transform: translate3d(0, -5px, 0);
}
100% {
transform: translate3d(0, 0, 0);
}
}
.bounceInUp {
animation-name: bounceInUp;
}

View File

@ -0,0 +1,19 @@
@keyframes bounceOut {
20% {
transform: scale3d(.9, .9, .9);
}
50%, 55% {
opacity: 1;
transform: scale3d(1.1, 1.1, 1.1);
}
100% {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
}
.bounceOut {
animation-name: bounceOut;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,14 @@
@keyframes fadeOutDown {
0% {
opacity: 1;
}
100% {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
}
.fadeOutDown {
animation-name: fadeOutDown;
}

View File

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

View File

@ -0,0 +1,14 @@
@keyframes fadeOutLeft {
0% {
opacity: 1;
}
100% {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
}
.fadeOutLeft {
animation-name: fadeOutLeft;
}

View File

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

View File

@ -0,0 +1,14 @@
@keyframes fadeOutRight {
0% {
opacity: 1;
}
100% {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
}
.fadeOutRight {
animation-name: fadeOutRight;
}

View File

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

View File

@ -0,0 +1,14 @@
@keyframes fadeOutUp {
0% {
opacity: 1;
}
100% {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
}
.fadeOutUp {
animation-name: fadeOutUp;
}

View File

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

View File

@ -0,0 +1,31 @@
@keyframes flip {
0% {
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;
}
100% {
transform: perspective(400px);
animation-timing-function: ease-in;
}
}
.animated.flip {
backface-visibility: visible;
animation-name: flip;
}

View File

@ -0,0 +1,30 @@
@keyframes flipInX {
0% {
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);
}
100% {
transform: perspective(400px);
}
}
.flipInX {
backface-visibility: visible !important;
animation-name: flipInX;
}

View File

@ -0,0 +1,30 @@
@keyframes flipInY {
0% {
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);
}
100% {
transform: perspective(400px);
}
}
.flipInY {
backface-visibility: visible !important;
animation-name: flipInY;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,14 @@
@keyframes slideInDown {
0% {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
100% {
transform: translate3d(0, 0, 0);
}
}
.slideInDown {
animation-name: slideInDown;
}

View File

@ -0,0 +1,14 @@
@keyframes slideInLeft {
0% {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
100% {
transform: translate3d(0, 0, 0);
}
}
.slideInLeft {
animation-name: slideInLeft;
}

View File

@ -0,0 +1,14 @@
@keyframes slideInRight {
0% {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
100% {
transform: translate3d(0, 0, 0);
}
}
.slideInRight {
animation-name: slideInRight;
}

View File

@ -0,0 +1,14 @@
@keyframes slideInUp {
0% {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
100% {
transform: translate3d(0, 0, 0);
}
}
.slideInUp {
animation-name: slideInUp;
}

View File

@ -0,0 +1,14 @@
@keyframes slideOutDown {
0% {
transform: translate3d(0, 0, 0);
}
100% {
visibility: hidden;
transform: translate3d(0, 100%, 0);
}
}
.slideOutDown {
animation-name: slideOutDown;
}

View File

@ -0,0 +1,14 @@
@keyframes slideOutLeft {
0% {
transform: translate3d(0, 0, 0);
}
100% {
visibility: hidden;
transform: translate3d(-100%, 0, 0);
}
}
.slideOutLeft {
animation-name: slideOutLeft;
}

View File

@ -0,0 +1,14 @@
@keyframes slideOutRight {
0% {
transform: translate3d(0, 0, 0);
}
100% {
visibility: hidden;
transform: translate3d(100%, 0, 0);
}
}
.slideOutRight {
animation-name: slideOutRight;
}

View File

@ -0,0 +1,14 @@
@keyframes slideOutUp {
0% {
transform: translate3d(0, 0, 0);
}
100% {
visibility: hidden;
transform: translate3d(0, -100%, 0);
}
}
.slideOutUp {
animation-name: slideOutUp;
}

View File

@ -0,0 +1,28 @@
@keyframes hinge {
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;
}
100% {
transform: translate3d(0, 700px, 0);
opacity: 0;
}
}
.hinge {
animation-name: hinge;
}

View File

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

View File

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

View File

@ -0,0 +1,14 @@
@keyframes zoomIn {
0% {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
50% {
opacity: 1;
}
}
.zoomIn {
animation-name: zoomIn;
}

View File

@ -0,0 +1,17 @@
@keyframes zoomInDown {
0% {
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);
}
}
.zoomInDown {
animation-name: zoomInDown;
}

View File

@ -0,0 +1,17 @@
@keyframes zoomInLeft {
0% {
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);
}
}
.zoomInLeft {
animation-name: zoomInLeft;
}

View File

@ -0,0 +1,17 @@
@keyframes zoomInRight {
0% {
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);
}
}
.zoomInRight {
animation-name: zoomInRight;
}

View File

@ -0,0 +1,17 @@
@keyframes zoomInUp {
0% {
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);
}
}
.zoomInUp {
animation-name: zoomInUp;
}

View File

@ -0,0 +1,18 @@
@keyframes zoomOut {
0% {
opacity: 1;
}
50% {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
100% {
opacity: 0;
}
}
.zoomOut {
animation-name: zoomOut;
}

View File

@ -0,0 +1,18 @@
@keyframes zoomOutDown {
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);
}
100% {
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);
}
}
.zoomOutDown {
animation-name: zoomOutDown;
}

View File

@ -0,0 +1,16 @@
@keyframes zoomOutLeft {
40% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
}
100% {
opacity: 0;
transform: scale(.1) translate3d(-2000px, 0, 0);
transform-origin: left center;
}
}
.zoomOutLeft {
animation-name: zoomOutLeft;
}

View File

@ -0,0 +1,16 @@
@keyframes zoomOutRight {
40% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
}
100% {
opacity: 0;
transform: scale(.1) translate3d(2000px, 0, 0);
transform-origin: right center;
}
}
.zoomOutRight {
animation-name: zoomOutRight;
}

View File

@ -0,0 +1,18 @@
@keyframes zoomOutUp {
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);
}
100% {
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);
}
}
.zoomOutUp {
animation-name: zoomOutUp;
}

10
lib_animate.php Normal file
View File

@ -0,0 +1,10 @@
<?php
namespace LIB;
class lib_animate extends \LIB\lib_css{
public static function get_class(){
return self::class;}
public static function css_path(){
return \SYSTEM\WEBPATH(new \SYSTEM\PLIB(),'tablesorter/lib/animate.min.css');}
public static function version(){
return '<a href="https://github.com/daneden/animate.css" target="_blank">https://github.com/daneden/animate.css</a> (commit: 9d4c59e5e5)';}
}