comixins 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +8 -0
- data/.rubocop.yml +26 -0
- data/Gemfile +2 -0
- data/README.md +35 -0
- data/comixins.gemspec +20 -0
- data/lib/comixins/version.rb +1 -1
- data/vendor/assets/stylesheets/LICENSE.markdown +29 -0
- data/vendor/assets/stylesheets/LICENSE_backup.md +29 -0
- data/vendor/assets/stylesheets/_animate.scss +3 -0
- data/vendor/assets/stylesheets/_compass.scss +4 -0
- data/vendor/assets/stylesheets/_lemonade.scss +38 -0
- data/vendor/assets/stylesheets/animation/_animate.scss +31 -0
- data/vendor/assets/stylesheets/animation/_core.scss +127 -0
- data/vendor/assets/stylesheets/animation/_shared.scss +22 -0
- data/vendor/assets/stylesheets/animation/animate/_attention-seekers.scss +152 -0
- data/vendor/assets/stylesheets/animation/animate/_bouncing.scss +3 -0
- data/vendor/assets/stylesheets/animation/animate/_classes.scss +21 -0
- data/vendor/assets/stylesheets/animation/animate/_fading.scss +3 -0
- data/vendor/assets/stylesheets/animation/animate/_flippers.scss +87 -0
- data/vendor/assets/stylesheets/animation/animate/_lightspeed.scss +24 -0
- data/vendor/assets/stylesheets/animation/animate/_rotating.scss +3 -0
- data/vendor/assets/stylesheets/animation/animate/_specials.scss +42 -0
- data/vendor/assets/stylesheets/animation/animate/bouncing/_bouncing-entrances.scss +68 -0
- data/vendor/assets/stylesheets/animation/animate/bouncing/_bouncing-exits.scss +60 -0
- data/vendor/assets/stylesheets/animation/animate/fading/_fading-entrances.scss +86 -0
- data/vendor/assets/stylesheets/animation/animate/fading/_fading-exits.scss +86 -0
- data/vendor/assets/stylesheets/animation/animate/rotating/_rotating-entrances.scss +58 -0
- data/vendor/assets/stylesheets/animation/animate/rotating/_rotating-exits.scss +58 -0
- data/vendor/assets/stylesheets/comixins.scss +1 -0
- data/vendor/assets/stylesheets/compass/_css3.scss +22 -0
- data/vendor/assets/stylesheets/compass/_functions.scss +6 -0
- data/vendor/assets/stylesheets/compass/_layout.scss +3 -0
- data/vendor/assets/stylesheets/compass/_reset-legacy.scss +3 -0
- data/vendor/assets/stylesheets/compass/_reset.scss +3 -0
- data/vendor/assets/stylesheets/compass/_support.scss +40 -0
- data/vendor/assets/stylesheets/compass/_typography.scss +4 -0
- data/vendor/assets/stylesheets/compass/_utilities.scss +9 -0
- data/vendor/assets/stylesheets/compass/css3/_animation.scss +2 -0
- data/vendor/assets/stylesheets/compass/css3/_appearance.scss +16 -0
- data/vendor/assets/stylesheets/compass/css3/_background-clip.scss +43 -0
- data/vendor/assets/stylesheets/compass/css3/_background-origin.scss +42 -0
- data/vendor/assets/stylesheets/compass/css3/_background-size.scss +26 -0
- data/vendor/assets/stylesheets/compass/css3/_border-radius.scss +130 -0
- data/vendor/assets/stylesheets/compass/css3/_box-shadow.scss +76 -0
- data/vendor/assets/stylesheets/compass/css3/_box-sizing.scss +13 -0
- data/vendor/assets/stylesheets/compass/css3/_box.scss +111 -0
- data/vendor/assets/stylesheets/compass/css3/_columns.scss +148 -0
- data/vendor/assets/stylesheets/compass/css3/_filter.scss +23 -0
- data/vendor/assets/stylesheets/compass/css3/_flexbox.scss +86 -0
- data/vendor/assets/stylesheets/compass/css3/_font-face.scss +48 -0
- data/vendor/assets/stylesheets/compass/css3/_hyphenation.scss +77 -0
- data/vendor/assets/stylesheets/compass/css3/_images.scss +133 -0
- data/vendor/assets/stylesheets/compass/css3/_inline-block.scss +22 -0
- data/vendor/assets/stylesheets/compass/css3/_opacity.scss +19 -0
- data/vendor/assets/stylesheets/compass/css3/_pie.scss +73 -0
- data/vendor/assets/stylesheets/compass/css3/_regions.scss +22 -0
- data/vendor/assets/stylesheets/compass/css3/_shared.scss +38 -0
- data/vendor/assets/stylesheets/compass/css3/_text-shadow.scss +87 -0
- data/vendor/assets/stylesheets/compass/css3/_transform-legacy.scss +87 -0
- data/vendor/assets/stylesheets/compass/css3/_transform.scss +598 -0
- data/vendor/assets/stylesheets/compass/css3/_transition.scss +221 -0
- data/vendor/assets/stylesheets/compass/css3/_user-interface.scss +47 -0
- data/vendor/assets/stylesheets/compass/functions/_colors.scss +37 -0
- data/vendor/assets/stylesheets/compass/functions/_constants.scss +18 -0
- data/vendor/assets/stylesheets/compass/functions/_cross_browser_support.scss +72 -0
- data/vendor/assets/stylesheets/compass/functions/_display.scss +36 -0
- data/vendor/assets/stylesheets/compass/functions/_gradient_support.scss +15 -0
- data/vendor/assets/stylesheets/compass/functions/_lists.scss +90 -0
- data/vendor/assets/stylesheets/compass/layout/_grid-background.scss +178 -0
- data/vendor/assets/stylesheets/compass/layout/_sticky-footer.scss +23 -0
- data/vendor/assets/stylesheets/compass/layout/_stretching.scss +24 -0
- data/vendor/assets/stylesheets/compass/reset/_utilities-legacy.scss +135 -0
- data/vendor/assets/stylesheets/compass/reset/_utilities.scss +142 -0
- data/vendor/assets/stylesheets/compass/typography/_links.scss +3 -0
- data/vendor/assets/stylesheets/compass/typography/_lists.scss +4 -0
- data/vendor/assets/stylesheets/compass/typography/_text.scss +4 -0
- data/vendor/assets/stylesheets/compass/typography/_vertical_rhythm.scss +219 -0
- data/vendor/assets/stylesheets/compass/typography/links/_hover-link.scss +5 -0
- data/vendor/assets/stylesheets/compass/typography/links/_link-colors.scss +28 -0
- data/vendor/assets/stylesheets/compass/typography/links/_unstyled-link.scss +7 -0
- data/vendor/assets/stylesheets/compass/typography/lists/_bullets.scss +34 -0
- data/vendor/assets/stylesheets/compass/typography/lists/_horizontal-list.scss +61 -0
- data/vendor/assets/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -0
- data/vendor/assets/stylesheets/compass/typography/lists/_inline-list.scss +44 -0
- data/vendor/assets/stylesheets/compass/typography/text/_ellipsis.scss +25 -0
- data/vendor/assets/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
- data/vendor/assets/stylesheets/compass/typography/text/_nowrap.scss +2 -0
- data/vendor/assets/stylesheets/compass/typography/text/_replacement.scss +68 -0
- data/vendor/assets/stylesheets/compass/utilities/_color.scss +1 -0
- data/vendor/assets/stylesheets/compass/utilities/_general.scss +6 -0
- data/vendor/assets/stylesheets/compass/utilities/_links.scss +5 -0
- data/vendor/assets/stylesheets/compass/utilities/_lists.scss +6 -0
- data/vendor/assets/stylesheets/compass/utilities/_print.scss +17 -0
- data/vendor/assets/stylesheets/compass/utilities/_sprites.scss +2 -0
- data/vendor/assets/stylesheets/compass/utilities/_tables.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/_text.scss +5 -0
- data/vendor/assets/stylesheets/compass/utilities/color/_contrast.scss +28 -0
- data/vendor/assets/stylesheets/compass/utilities/general/_clearfix.scss +44 -0
- data/vendor/assets/stylesheets/compass/utilities/general/_float.scss +30 -0
- data/vendor/assets/stylesheets/compass/utilities/general/_hacks.scss +46 -0
- data/vendor/assets/stylesheets/compass/utilities/general/_min.scss +16 -0
- data/vendor/assets/stylesheets/compass/utilities/general/_reset.scss +2 -0
- data/vendor/assets/stylesheets/compass/utilities/general/_tabs.scss +1 -0
- data/vendor/assets/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
- data/vendor/assets/stylesheets/compass/utilities/links/_hover-link.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/links/_link-colors.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/lists/_bullets.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/lists/_inline-list.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/sprites/_base.scss +66 -0
- data/vendor/assets/stylesheets/compass/utilities/sprites/_sprite-img.scss +79 -0
- data/vendor/assets/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -0
- data/vendor/assets/stylesheets/compass/utilities/tables/_borders.scss +33 -0
- data/vendor/assets/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
- data/vendor/assets/stylesheets/compass/utilities/text/_ellipsis.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/text/_nowrap.scss +3 -0
- data/vendor/assets/stylesheets/compass/utilities/text/_replacement.scss +3 -0
- metadata +119 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2ba692e053d4d91817870997c30ba3fa6809780
|
4
|
+
data.tar.gz: ee736eb083f5c8817f0458337c333abd44919091
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de3555e02b3b7ae6ba27ef9c9b287f899d06739c39fd47aae0d13af6f479c62cc07bb88cb2a57636b86e12fd2c4e0ec9c898adbb08563f377e8d99fb75f4d8eb
|
7
|
+
data.tar.gz: 37638a95fd9aef924598020d8c1895e1c38538e37f2db704bc7b91064b454fc11b461d3720e9e3d6676b0c8c0f315cd2a0db3eee24ebfd1d82d1b05767f8112d
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- 'rubocop.gemspec'
|
4
|
+
|
5
|
+
Documentation:
|
6
|
+
Enabled: false
|
7
|
+
|
8
|
+
LineLength:
|
9
|
+
Max: 100
|
10
|
+
|
11
|
+
Style/StringLiterals:
|
12
|
+
EnforcedStyle: double_quotes
|
13
|
+
SupportedStyles:
|
14
|
+
- double_quotes
|
15
|
+
|
16
|
+
Metrics/CyclomaticComplexity:
|
17
|
+
Max: 10
|
18
|
+
|
19
|
+
Metrics/PerceivedComplexity:
|
20
|
+
Max: 10
|
21
|
+
|
22
|
+
Metrics/MethodLength:
|
23
|
+
Max: 40
|
24
|
+
|
25
|
+
Metrics/AbcSize:
|
26
|
+
Max: 40
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Comixins
|
2
|
+
This gem helps to introduce [compass-mixins](https://github.com/Igosuki/compass-mixins) to Rails application.
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
|
6
|
+
Add this line to your application's Gemfile.
|
7
|
+
```ruby
|
8
|
+
gem 'comixins'
|
9
|
+
```
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
```
|
13
|
+
$ bundle
|
14
|
+
```
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
Replace compass with comixins.
|
19
|
+
```scss
|
20
|
+
- @import 'compass';
|
21
|
+
+ @import 'comixins';
|
22
|
+
```
|
23
|
+
|
24
|
+
This gem does not support `inline-image` which converts images to Base64.
|
25
|
+
Please use `asset-data-url` instead of `inline-image`.
|
26
|
+
```scss
|
27
|
+
- background-image: inline-image('comixins.png');
|
28
|
+
+ background-image: asset-data-url('comixins.png');
|
29
|
+
```
|
30
|
+
|
31
|
+
The magic import function of compass is also not supported.
|
32
|
+
The implementation deeply depending on compass should be avoided because compass is no longer actively maintained.
|
33
|
+
|
34
|
+
## License
|
35
|
+
This project rocks and uses MIT-LICENSE.
|
data/comixins.gemspec
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
$LOAD_PATH.push File.expand_path("../lib", __FILE__)
|
3
|
+
|
4
|
+
require "comixins/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "comixins"
|
8
|
+
s.version = Comixins::VERSION
|
9
|
+
s.authors = ["yuyasat"]
|
10
|
+
s.email = ["yuyasat.works@gmail.com"]
|
11
|
+
s.homepage = "https://github.com/yuyataki/comixins"
|
12
|
+
s.summary = "Comixins helps to introduce the compass-mixins."
|
13
|
+
s.description = "Comixins helps to introduce the compass-mixins."
|
14
|
+
s.license = "MIT"
|
15
|
+
|
16
|
+
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
s.test_files = Dir["test/**/*"]
|
18
|
+
|
19
|
+
s.add_dependency "rails"
|
20
|
+
end
|
data/lib/comixins/version.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
Copyright (c) 2009 Christopher M. Eppstein
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
No attribution is required by products that make use of this software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
|
23
|
+
Except as contained in this notice, the name(s) of the above copyright
|
24
|
+
holders shall not be used in advertising or otherwise to promote the sale,
|
25
|
+
use or other dealings in this Software without prior written authorization.
|
26
|
+
|
27
|
+
Contributors to this project agree to grant all rights to the copyright
|
28
|
+
holder of the primary product. Attribution is maintained in the source
|
29
|
+
control history of the product.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Copyright (c) 2009-2014 Christopher M. Eppstein
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
No attribution is required by products that make use of this software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
|
23
|
+
Except as contained in this notice, the name(s) of the above copyright
|
24
|
+
holders shall not be used in advertising or otherwise to promote the sale,
|
25
|
+
use or other dealings in this Software without prior written authorization.
|
26
|
+
|
27
|
+
Contributors to this project agree to grant all rights to the copyright
|
28
|
+
holder of the primary product. Attribution is maintained in the source
|
29
|
+
control history of the product.
|
@@ -0,0 +1,38 @@
|
|
1
|
+
@mixin image-dimensions($file) {
|
2
|
+
height: image-height($file);
|
3
|
+
width: image-width($file);
|
4
|
+
}
|
5
|
+
|
6
|
+
@mixin sprite-image($file) {
|
7
|
+
background: sprite-image($file) $repeat;
|
8
|
+
}
|
9
|
+
|
10
|
+
@mixin sized-sprite-image($file) {
|
11
|
+
background: sprite-image($file);
|
12
|
+
@include image-dimensions($file);
|
13
|
+
}
|
14
|
+
|
15
|
+
@mixin sprite-folder($folder, $image-dimensions: false) {
|
16
|
+
.#{$folder} {
|
17
|
+
@if $image-dimensions {
|
18
|
+
background: sprite-url($folder);
|
19
|
+
}
|
20
|
+
@else {
|
21
|
+
background: sprite-url($folder) no-repeat;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
@for $i from 0 to sprite-files-in-folder($folder) {
|
25
|
+
$file: sprite-file-from-folder($folder, $i);
|
26
|
+
.#{$folder}-#{image-basename($file)} {
|
27
|
+
@extend .#{$folder};
|
28
|
+
background-position: sprite-position(sprite-file-from-folder($folder, $i));
|
29
|
+
@if $image-dimensions {
|
30
|
+
@include image-dimensions($file);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
@mixin sized-sprite-folder($folder) {
|
37
|
+
@include sprite-folder($folder, true);
|
38
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
// Animations from Animate.css
|
3
|
+
// Author : Dan Eden
|
4
|
+
// URL : http://daneden.me/animate/
|
5
|
+
//
|
6
|
+
// Attention seekers
|
7
|
+
// - flash bounce shake tada swing wobble pulse
|
8
|
+
// Fading entrances
|
9
|
+
// - fadeIn fadeInUp fadeInDown fadeInLeft fadeInRight fadeInUpBig fadeInDownBig fadeInLeftBig fadeInRightBig
|
10
|
+
// Fading exits
|
11
|
+
// - fadeOut fadeOutUp fadeOutDown fadeOutLeft fadeOutRight fadeOutUpBig fadeOutDownBig fadeOutLeftBig fadeOutRightBig
|
12
|
+
// Bouncing entrances
|
13
|
+
// - bounceIn bounceInDown bounceInUp bounceInLeft bounceInRight
|
14
|
+
// Bouncing exits
|
15
|
+
// - bounceOut bounceOutDown bounceOutUp bounceOutLeft bounceOutRight
|
16
|
+
// Rotating entrances
|
17
|
+
// - rotateIn rotateInDownLeft rotateInDownRight rotateInUpLeft rotateInUpRight
|
18
|
+
// Rotating exits
|
19
|
+
// - rotateOut rotateOutDownLeft rotateOutDownRight rotateOutUpLeft rotateOutUpRight
|
20
|
+
// Lightspeed
|
21
|
+
// - lightSpeedIn lightSpeedOut
|
22
|
+
// Specials
|
23
|
+
// - hinge rollIn rollOut
|
24
|
+
// ---------------------------------------------------------------------------
|
25
|
+
@import "animate/attention-seekers";
|
26
|
+
@import "animate/bouncing";
|
27
|
+
@import "animate/fading";
|
28
|
+
@import "animate/flippers";
|
29
|
+
@import "animate/lightspeed";
|
30
|
+
@import "animate/rotating";
|
31
|
+
@import "animate/specials";
|
@@ -0,0 +1,127 @@
|
|
1
|
+
@import "shared";
|
2
|
+
|
3
|
+
// CSS Animations.
|
4
|
+
|
5
|
+
// Apply an animation property and value with the correct browser support
|
6
|
+
@mixin animation-support($property, $value) {
|
7
|
+
@include experimental($property, $value, -moz, -webkit, -o, -ms, not -khtml, official); }
|
8
|
+
|
9
|
+
// Name of any animation as a string.
|
10
|
+
$default-animation-name : false !default;
|
11
|
+
|
12
|
+
// Duration of the entire animation in seconds.
|
13
|
+
$default-animation-duration : false !default;
|
14
|
+
|
15
|
+
// Delay for start of animation in seconds.
|
16
|
+
$default-animation-delay : false !default;
|
17
|
+
|
18
|
+
// The timing function(s) to be used between keyframes. [ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier($number, $number, $number, $number)]
|
19
|
+
$default-animation-timing-function : false !default;
|
20
|
+
|
21
|
+
// The number of times an animation cycle is played. [infinite | $number]
|
22
|
+
$default-animation-iteration-count : false !default;
|
23
|
+
|
24
|
+
// Whether or not the animation should play in reverse on alternate cycles. [normal | alternate]
|
25
|
+
$default-animation-direction : false !default;
|
26
|
+
|
27
|
+
// What values are applied by the animation outside the time it is executing. [none | forwards | backwards | both]
|
28
|
+
$default-animation-fill-mode : false !default;
|
29
|
+
|
30
|
+
// Whether the animation is running or paused. [running | paused]
|
31
|
+
$default-animation-play-state : false !default;
|
32
|
+
|
33
|
+
// Create a named animation sequence that can be applied to elements later.
|
34
|
+
//
|
35
|
+
// $name - The name of your animation.
|
36
|
+
// @content - The keyframes of the animation.
|
37
|
+
@mixin keyframes(
|
38
|
+
$name,
|
39
|
+
$moz: $experimental-support-for-mozilla,
|
40
|
+
$webkit: $experimental-support-for-webkit,
|
41
|
+
$o: $experimental-support-for-opera,
|
42
|
+
$ms: $experimental-support-for-microsoft,
|
43
|
+
$khtml: $experimental-support-for-khtml,
|
44
|
+
$official: true
|
45
|
+
) {
|
46
|
+
@if $moz {
|
47
|
+
@include with-only-support-for($moz: true) {
|
48
|
+
@-moz-keyframes #{$name} { @content; }
|
49
|
+
}
|
50
|
+
}
|
51
|
+
@if $webkit {
|
52
|
+
@include with-only-support-for($webkit: true) {
|
53
|
+
@-webkit-keyframes #{$name} { @content; }
|
54
|
+
}
|
55
|
+
}
|
56
|
+
@if $o {
|
57
|
+
@include with-only-support-for($o: true) {
|
58
|
+
@-o-keyframes #{$name} { @content; }
|
59
|
+
}
|
60
|
+
}
|
61
|
+
@if $ms {
|
62
|
+
@include with-only-support-for($ms: true) {
|
63
|
+
@-ms-keyframes #{$name} { @content; }
|
64
|
+
}
|
65
|
+
}
|
66
|
+
@if $khtml {
|
67
|
+
@include with-only-support-for($khtml: true) {
|
68
|
+
@-khtml-keyframes #{$name} { @content; }
|
69
|
+
}
|
70
|
+
}
|
71
|
+
@if $official {
|
72
|
+
@include with-only-support-for {
|
73
|
+
@keyframes #{$name} { @content; }
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
// Apply 1-10 animation names.
|
79
|
+
@mixin animation-name($name-1: $default-animation-name, $name-2: false, $name-3: false, $name-4: false, $name-5: false, $name-6: false, $name-7: false, $name-8: false, $name-9: false, $name-10: false) {
|
80
|
+
$name: compact($name-1, $name-2, $name-3, $name-4, $name-5, $name-6, $name-7, $name-8, $name-9, $name-10);
|
81
|
+
@include animation-support(animation-name, $name); }
|
82
|
+
|
83
|
+
// Apply 1-10 animation durations.
|
84
|
+
@mixin animation-duration($duration-1: $default-animation-duration, $duration-2: false, $duration-3: false, $duration-4: false, $duration-5: false, $duration-6: false, $duration-7: false, $duration-8: false, $duration-9: false, $duration-10: false) {
|
85
|
+
$duration: compact($duration-1, $duration-2, $duration-3, $duration-4, $duration-5, $duration-6, $duration-7, $duration-8, $duration-9, $duration-10);
|
86
|
+
@include animation-support(animation-duration, $duration); }
|
87
|
+
|
88
|
+
// Apply 1-10 animation delays.
|
89
|
+
@mixin animation-delay($delay-1: $default-animation-delay, $delay-2: false, $delay-3: false, $delay-4: false, $delay-5: false, $delay-6: false, $delay-7: false, $delay-8: false, $delay-9: false, $delay-10: false) {
|
90
|
+
$delay: compact($delay-1, $delay-2, $delay-3, $delay-4, $delay-5, $delay-6, $delay-7, $delay-8, $delay-9, $delay-10);
|
91
|
+
@include animation-support(animation-delay, $delay); }
|
92
|
+
|
93
|
+
// Apply 1-10 animation timing functions.
|
94
|
+
@mixin animation-timing-function($function-1: $default-animation-timing-function, $function-2: false, $function-3: false, $function-4: false, $function-5: false, $function-6: false, $function-7: false, $function-8: false, $function-9: false, $function-10: false) {
|
95
|
+
$function: compact($function-1, $function-2, $function-3, $function-4, $function-5, $function-6, $function-7, $function-8, $function-9, $function-10);
|
96
|
+
@include animation-support(animation-timing-function, $function); }
|
97
|
+
|
98
|
+
// Apply 1-10 animation iteration counts.
|
99
|
+
@mixin animation-iteration-count($count-1: $default-animation-iteration-count, $count-2: false, $count-3: false, $count-4: false, $count-5: false, $count-6: false, $count-7: false, $count-8: false, $count-9: false, $count-10: false) {
|
100
|
+
$count: compact($count-1, $count-2, $count-3, $count-4, $count-5, $count-6, $count-7, $count-8, $count-9, $count-10);
|
101
|
+
@include animation-support(animation-iteration-count, $count); }
|
102
|
+
|
103
|
+
// Apply 1-10 animation directions.
|
104
|
+
@mixin animation-direction($direction-1: $default-animation-direction, $direction-2: false, $direction-3: false, $direction-4: false, $direction-5: false, $direction-6: false, $direction-7: false, $direction-8: false, $direction-9: false, $direction-10: false) {
|
105
|
+
$direction: compact($direction-1, $direction-2, $direction-3, $direction-4, $direction-5, $direction-6, $direction-7, $direction-8, $direction-9, $direction-10);
|
106
|
+
@include animation-support(animation-direction, $direction); }
|
107
|
+
|
108
|
+
// Apply 1-10 animation fill modes.
|
109
|
+
@mixin animation-fill-mode($mode-1: $default-animation-fill-mode, $mode-2: false, $mode-3: false, $mode-4: false, $mode-5: false, $mode-6: false, $mode-7: false, $mode-8: false, $mode-9: false, $mode-10: false) {
|
110
|
+
$mode: compact($mode-1, $mode-2, $mode-3, $mode-4, $mode-5, $mode-6, $mode-7, $mode-8, $mode-9, $mode-10);
|
111
|
+
@include animation-support(animation-fill-mode, $mode); }
|
112
|
+
|
113
|
+
// Apply 1-10 animation play states.
|
114
|
+
@mixin animation-play-state($state-1: $default-animation-play-state, $state-2: false, $state-3: false, $state-4: false, $state-5: false, $state-6: false, $state-7: false, $state-8: false, $state-9: false, $state-10: false) {
|
115
|
+
$state: compact($state-1, $state-2, $state-3, $state-4, $state-5, $state-6, $state-7, $state-8, $state-9, $state-10);
|
116
|
+
@include animation-support(animation-play-state, $state); }
|
117
|
+
|
118
|
+
// Shortcut to apply a named animation to an element, with all the settings.
|
119
|
+
//
|
120
|
+
// $animation-1 : Name and settings for the first animation. [<values> | default]
|
121
|
+
// ...
|
122
|
+
// $animation-10 : Name and settings for the tenth animation. <values>
|
123
|
+
@mixin animation($animation-1: default, $animation-2: false, $animation-3: false, $animation-4: false, $animation-5: false, $animation-6: false, $animation-7: false, $animation-8: false, $animation-9: false, $animation-10: false) {
|
124
|
+
@if $animation-1 == default {
|
125
|
+
$animation-1: -compass-space-list(compact($default-animation-name, $default-animation-duration, $default-animation-timing-function, $default-animation-delay, $default-animation-iteration-count, $default-animation-direction, $default-animation-fill-mode, $default-animation-play-state)); }
|
126
|
+
$animation: compact($animation-1, $animation-2, $animation-3, $animation-4, $animation-5, $animation-6, $animation-7, $animation-8, $animation-9, $animation-10);
|
127
|
+
@include animation-support(animation, $animation); }
|
@@ -0,0 +1,22 @@
|
|
1
|
+
@mixin set-experimental-support($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false) {
|
2
|
+
$experimental-support-for-mozilla: $moz;
|
3
|
+
$experimental-support-for-webkit: $webkit;
|
4
|
+
$experimental-support-for-microsoft: $ms;
|
5
|
+
$experimental-support-for-opera: $o;
|
6
|
+
$experimental-support-for-khtml: $khtml;
|
7
|
+
}
|
8
|
+
|
9
|
+
@mixin with-only-support-for($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false) {
|
10
|
+
// Capture the current state
|
11
|
+
$original-moz: $experimental-support-for-mozilla;
|
12
|
+
$original-webkit: $experimental-support-for-webkit;
|
13
|
+
$original-o: $experimental-support-for-opera;
|
14
|
+
$original-ms: $experimental-support-for-microsoft;
|
15
|
+
$original-khtml: $experimental-support-for-khtml;
|
16
|
+
|
17
|
+
@include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
|
18
|
+
|
19
|
+
@content;
|
20
|
+
|
21
|
+
@include set-experimental-support($original-moz, $original-webkit, $original-ms, $original-o, $original-khtml);
|
22
|
+
}
|
@@ -0,0 +1,152 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
@include keyframes(flash) {
|
3
|
+
0% {
|
4
|
+
opacity: 1; }
|
5
|
+
25% {
|
6
|
+
opacity: 0; }
|
7
|
+
50% {
|
8
|
+
opacity: 1; }
|
9
|
+
75% {
|
10
|
+
opacity: 0; }
|
11
|
+
100% {
|
12
|
+
opacity: 1; } }
|
13
|
+
|
14
|
+
|
15
|
+
// ---------------------------------------------------------------------------
|
16
|
+
@include keyframes(bounce) {
|
17
|
+
0% {
|
18
|
+
@include translateY(0); }
|
19
|
+
20% {
|
20
|
+
@include translateY(0); }
|
21
|
+
40% {
|
22
|
+
@include translateY(-30px); }
|
23
|
+
50% {
|
24
|
+
@include translateY(0); }
|
25
|
+
60% {
|
26
|
+
@include translateY(-15px); }
|
27
|
+
80% {
|
28
|
+
@include translateY(0); }
|
29
|
+
100% {
|
30
|
+
@include translateY(0); } }
|
31
|
+
|
32
|
+
|
33
|
+
// ---------------------------------------------------------------------------
|
34
|
+
@include keyframes(shake) {
|
35
|
+
0% {
|
36
|
+
@include translateX(0); }
|
37
|
+
10% {
|
38
|
+
@include translateX(-10px); }
|
39
|
+
20% {
|
40
|
+
@include translateX(10px); }
|
41
|
+
30% {
|
42
|
+
@include translateX(-10px); }
|
43
|
+
40% {
|
44
|
+
@include translateX(10px); }
|
45
|
+
50% {
|
46
|
+
@include translateX(-10px); }
|
47
|
+
60% {
|
48
|
+
@include translateX(10px); }
|
49
|
+
70% {
|
50
|
+
@include translateX(-10px); }
|
51
|
+
80% {
|
52
|
+
@include translateX(10px); }
|
53
|
+
90% {
|
54
|
+
@include translateX(-10px); }
|
55
|
+
100% {
|
56
|
+
@include translateX(0); } }
|
57
|
+
|
58
|
+
|
59
|
+
// ---------------------------------------------------------------------------
|
60
|
+
@include keyframes(tada) {
|
61
|
+
0% {
|
62
|
+
@include scale(1); }
|
63
|
+
10% {
|
64
|
+
@include transform(scale(0.9) rotate(-3deg)); }
|
65
|
+
20% {
|
66
|
+
@include transform(scale(0.9) rotate(-3deg)); }
|
67
|
+
30% {
|
68
|
+
@include transform(scale(1.1) rotate(3deg)); }
|
69
|
+
40% {
|
70
|
+
@include transform(scale(1.1) rotate(-3deg)); }
|
71
|
+
50% {
|
72
|
+
@include transform(scale(1.1) rotate(3deg)); }
|
73
|
+
60% {
|
74
|
+
@include transform(scale(1.1) rotate(-3deg)); }
|
75
|
+
70% {
|
76
|
+
@include transform(scale(1.1) rotate(3deg)); }
|
77
|
+
80% {
|
78
|
+
@include transform(scale(1.1) rotate(-3deg)); }
|
79
|
+
90% {
|
80
|
+
@include transform(scale(1.1) rotate(3deg)); }
|
81
|
+
100% {
|
82
|
+
@include transform(scale(1) rotate(0)); } }
|
83
|
+
|
84
|
+
|
85
|
+
// ---------------------------------------------------------------------------
|
86
|
+
@include keyframes(swing) {
|
87
|
+
20%, 40%, 60%, 80%, 100% {
|
88
|
+
@include transform-origin(top center); }
|
89
|
+
20% {
|
90
|
+
@include rotate(15deg); }
|
91
|
+
40% {
|
92
|
+
@include rotate(-10deg); }
|
93
|
+
60% {
|
94
|
+
@include rotate(5deg); }
|
95
|
+
80% {
|
96
|
+
@include rotate(-5deg); }
|
97
|
+
100% {
|
98
|
+
@include rotate(0deg); } }
|
99
|
+
|
100
|
+
|
101
|
+
// ---------------------------------------------------------------------------
|
102
|
+
@include keyframes(wobble) {
|
103
|
+
0% {
|
104
|
+
@include translateX(0%); }
|
105
|
+
15% {
|
106
|
+
@include transform(translateX(-25%) rotate(-5deg)); }
|
107
|
+
30% {
|
108
|
+
@include transform(translateX(20%) rotate(3deg)); }
|
109
|
+
45% {
|
110
|
+
@include transform(translateX(-15%) rotate(-3deg)); }
|
111
|
+
60% {
|
112
|
+
@include transform(translateX(10%) rotate(2deg)); }
|
113
|
+
75% {
|
114
|
+
@include transform(translateX(-5%) rotate(-1deg)); }
|
115
|
+
100% {
|
116
|
+
@include transform(translateX(0%)); } }
|
117
|
+
|
118
|
+
|
119
|
+
// ---------------------------------------------------------------------------
|
120
|
+
@include keyframes(pulse) {
|
121
|
+
0% {
|
122
|
+
@include scale(1); }
|
123
|
+
50% {
|
124
|
+
@include scale(1.1); }
|
125
|
+
100% {
|
126
|
+
@include scale(1); } }
|
127
|
+
|
128
|
+
|
129
|
+
// ---------------------------------------------------------------------------
|
130
|
+
@include keyframes(wiggle) {
|
131
|
+
0% {
|
132
|
+
@include skewX(9deg); }
|
133
|
+
10% {
|
134
|
+
@include skewX(-8deg); }
|
135
|
+
20% {
|
136
|
+
@include skewX(7deg); }
|
137
|
+
30% {
|
138
|
+
@include skewX(-6deg); }
|
139
|
+
40% {
|
140
|
+
@include skewX(5deg); }
|
141
|
+
50% {
|
142
|
+
@include skewX(-4deg); }
|
143
|
+
60% {
|
144
|
+
@include skewX(3deg); }
|
145
|
+
70% {
|
146
|
+
@include skewX(-2deg); }
|
147
|
+
80% {
|
148
|
+
@include skewX(1deg); }
|
149
|
+
90% {
|
150
|
+
@include skewX(0deg); }
|
151
|
+
100% {
|
152
|
+
@include skewX(0deg); } }
|