bourbon-compass 2.1.3 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. data/stylesheets/bourbon/_bourbon-deprecated-upcoming.scss +3 -0
  2. data/stylesheets/bourbon/_bourbon.scss +5 -0
  3. data/stylesheets/bourbon/addons/_html5-input-types.scss +21 -1
  4. data/stylesheets/bourbon/addons/_prefixer.scss +24 -13
  5. data/stylesheets/bourbon/css3/_animation.scss +23 -96
  6. data/stylesheets/bourbon/css3/_appearance.scss +1 -1
  7. data/stylesheets/bourbon/css3/_background-image.scss +2 -15
  8. data/stylesheets/bourbon/css3/_background-size.scss +2 -10
  9. data/stylesheets/bourbon/css3/_border-radius.scss +14 -36
  10. data/stylesheets/bourbon/css3/_box-shadow.scss +2 -11
  11. data/stylesheets/bourbon/css3/_box-sizing.scss +1 -1
  12. data/stylesheets/bourbon/css3/_columns.scss +10 -10
  13. data/stylesheets/bourbon/css3/_flex-box.scss +8 -8
  14. data/stylesheets/bourbon/css3/_perspective.scss +8 -0
  15. data/stylesheets/bourbon/css3/_radial-gradient.scss +3 -1
  16. data/stylesheets/bourbon/css3/_transform.scss +2 -2
  17. data/stylesheets/bourbon/css3/_transition.scss +21 -57
  18. data/stylesheets/bourbon/css3/_user-select.scss +1 -1
  19. data/stylesheets/bourbon/functions/_compact.scss +11 -0
  20. data/stylesheets/bourbon/functions/_deprecated-webkit-gradient.scss +1 -1
  21. data/stylesheets/bourbon/functions/_linear-gradient.scss +2 -19
  22. data/stylesheets/bourbon/functions/_radial-gradient.scss +1 -6
  23. metadata +7 -8
  24. data/stylesheets/bourbon/lib/bourbon.rb +0 -23
  25. data/stylesheets/bourbon/lib/bourbon/sass_extensions.rb +0 -8
  26. data/stylesheets/bourbon/lib/bourbon/sass_extensions/functions.rb +0 -13
  27. data/stylesheets/bourbon/lib/bourbon/sass_extensions/functions/compact.rb +0 -14
@@ -0,0 +1,3 @@
1
+ //************************************************************************//
2
+ // These mixins/functions will be deprecated in the next MAJOR version release
3
+ //************************************************************************//
@@ -1,4 +1,5 @@
1
1
  // Custom Functions
2
+ @import "functions/compact";
2
3
  @import "functions/deprecated-webkit-gradient";
3
4
  @import "functions/flex-grid";
4
5
  @import "functions/grid-width";
@@ -26,6 +27,7 @@
26
27
  @import "css3/image-rendering";
27
28
  @import "css3/inline-block";
28
29
  @import "css3/linear-gradient";
30
+ @import "css3/perspective";
29
31
  @import "css3/radial-gradient";
30
32
  @import "css3/transform";
31
33
  @import "css3/transition";
@@ -40,3 +42,6 @@
40
42
  @import "addons/position";
41
43
  @import "addons/prefixer";
42
44
  @import "addons/timing-functions";
45
+
46
+ // Soon to be deprecated Mixins
47
+ @import "bourbon-deprecated-upcoming";
@@ -21,15 +21,35 @@ $inputs-list: 'input[type="email"]',
21
21
  'input[type="week"]';
22
22
 
23
23
  $unquoted-inputs-list: ();
24
-
25
24
  @each $input-type in $inputs-list {
26
25
  $unquoted-inputs-list: append($unquoted-inputs-list, unquote($input-type), comma);
27
26
  }
28
27
 
29
28
  $all-text-inputs: $unquoted-inputs-list;
30
29
 
30
+
31
+ // Hover Pseudo-class
32
+ //************************************************************************//
33
+ $all-text-inputs-hover: ();
34
+ @each $input-type in $unquoted-inputs-list {
35
+ $input-type-hover: $input-type + ":hover";
36
+ $all-text-inputs-hover: append($all-text-inputs-hover, $input-type-hover, comma);
37
+ }
38
+
39
+ // Focus Pseudo-class
40
+ //************************************************************************//
41
+ $all-text-inputs-focus: ();
42
+ @each $input-type in $unquoted-inputs-list {
43
+ $input-type-focus: $input-type + ":focus";
44
+ $all-text-inputs-focus: append($all-text-inputs-focus, $input-type-focus, comma);
45
+ }
46
+
31
47
  // You must use interpolation on the variable:
32
48
  // #{$all-text-inputs}
49
+ // #{$all-text-inputs-hover}
50
+ // #{$all-text-inputs-focus}
51
+
52
+ // Example
33
53
  //************************************************************************//
34
54
  // #{$all-text-inputs}, textarea {
35
55
  // border: 1px solid red;
@@ -1,16 +1,27 @@
1
1
  //************************************************************************//
2
- // Default: Webkit, moz, spec
3
- // Example: @include prefixer(border-radius, $radii, $o: true);
2
+ // Example: @include prefixer(border-radius, $radii, webkit ms spec);
4
3
  //************************************************************************//
5
- @mixin prefixer ($property, $value,
6
- $webkit: true,
7
- $moz: true,
8
- $ms: false,
9
- $o: false,
10
- $spec: true) {
11
- @if $webkit { -webkit-#{$property}: $value; }
12
- @if $moz { -moz-#{$property}: $value; }
13
- @if $ms { -ms-#{$property}: $value; }
14
- @if $o { -o-#{$property}: $value; }
15
- @if $spec { #{$property}: $value; }
4
+ @mixin prefixer ($property, $value, $prefixes) {
5
+
6
+ @each $prefix in $prefixes {
7
+
8
+ @if $prefix == webkit {
9
+ -webkit-#{$property}: $value;
10
+ }
11
+ @else if $prefix == moz {
12
+ -moz-#{$property}: $value;
13
+ }
14
+ @else if $prefix == ms {
15
+ -ms-#{$property}: $value;
16
+ }
17
+ @else if $prefix == o {
18
+ -o-#{$property}: $value;
19
+ }
20
+ @else if $prefix == spec {
21
+ #{$property}: $value;
22
+ }
23
+ @else {
24
+ @warn "Unrecognized prefix: #{$prefix}";
25
+ }
26
+ }
16
27
  }
@@ -2,124 +2,51 @@
2
2
  // Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.
3
3
 
4
4
  // Official animation shorthand property.
5
- @mixin animation ($animation-1,
6
- $animation-2: false, $animation-3: false,
7
- $animation-4: false, $animation-5: false,
8
- $animation-6: false, $animation-7: false,
9
- $animation-8: false, $animation-9: false)
10
- {
11
- $full: compact($animation-1, $animation-2, $animation-3, $animation-4,
12
- $animation-5, $animation-6, $animation-7, $animation-8, $animation-9);
13
-
14
- @include prefixer(animation, $full);
5
+ @mixin animation ($animations...) {
6
+ @include prefixer(animation, $animations, webkit moz spec);
15
7
  }
16
8
 
17
9
  // Individual Animation Properties
18
- @mixin animation-name ($name-1,
19
- $name-2: false, $name-3: false,
20
- $name-4: false, $name-5: false,
21
- $name-6: false, $name-7: false,
22
- $name-8: false, $name-9: false)
23
- {
24
- $full: compact($name-1, $name-2, $name-3, $name-4,
25
- $name-5, $name-6, $name-7, $name-8, $name-9);
26
-
27
- @include prefixer(animation-name, $full);
10
+ @mixin animation-name ($names...) {
11
+ @include prefixer(animation-name, $names, webkit moz spec);
28
12
  }
29
13
 
30
14
 
31
- @mixin animation-duration ($time-1: 0,
32
- $time-2: false, $time-3: false,
33
- $time-4: false, $time-5: false,
34
- $time-6: false, $time-7: false,
35
- $time-8: false, $time-9: false)
36
- {
37
- $full: compact($time-1, $time-2, $time-3, $time-4,
38
- $time-5, $time-6, $time-7, $time-8, $time-9);
39
-
40
- @include prefixer(animation-duration, $full);
15
+ @mixin animation-duration ($times...) {
16
+ @include prefixer(animation-duration, $times, webkit moz spec);
41
17
  }
42
18
 
43
19
 
44
- @mixin animation-timing-function ($motion-1: ease,
45
- // ease | linear | ease-in | ease-out | ease-in-out
46
- $motion-2: false, $motion-3: false,
47
- $motion-4: false, $motion-5: false,
48
- $motion-6: false, $motion-7: false,
49
- $motion-8: false, $motion-9: false)
50
- {
51
- $full: compact($motion-1, $motion-2, $motion-3, $motion-4,
52
- $motion-5, $motion-6, $motion-7, $motion-8, $motion-9);
53
-
54
- @include prefixer(animation-timing-function, $full);
20
+ @mixin animation-timing-function ($motions...) {
21
+ // ease | linear | ease-in | ease-out | ease-in-out
22
+ @include prefixer(animation-timing-function, $motions, webkit moz spec);
55
23
  }
56
24
 
57
25
 
58
- @mixin animation-iteration-count ($value-1: 1,
59
- // infinite | <number>
60
- $value-2: false, $value-3: false,
61
- $value-4: false, $value-5: false,
62
- $value-6: false, $value-7: false,
63
- $value-8: false, $value-9: false)
64
- {
65
- $full: compact($value-1, $value-2, $value-3, $value-4,
66
- $value-5, $value-6, $value-7, $value-8, $value-9);
67
-
68
- @include prefixer(animation-iteration-count, $full);
26
+ @mixin animation-iteration-count ($values...) {
27
+ // infinite | <number>
28
+ @include prefixer(animation-iteration-count, $values, webkit moz spec);
69
29
  }
70
30
 
71
31
 
72
- @mixin animation-direction ($direction-1: normal,
73
- // normal | alternate
74
- $direction-2: false, $direction-3: false,
75
- $direction-4: false, $direction-5: false,
76
- $direction-6: false, $direction-7: false,
77
- $direction-8: false, $direction-9: false)
78
- {
79
- $full: compact($direction-1, $direction-2, $direction-3, $direction-4,
80
- $direction-5, $direction-6, $direction-7, $direction-8, $direction-9);
81
-
82
- @include prefixer(animation-direction, $full);
32
+ @mixin animation-direction ($directions...) {
33
+ // normal | alternate
34
+ @include prefixer(animation-direction, $directions, webkit moz spec);
83
35
  }
84
36
 
85
37
 
86
- @mixin animation-play-state ($state-1: running,
87
- // running | paused
88
- $state-2: false, $state-3: false,
89
- $state-4: false, $state-5: false,
90
- $state-6: false, $state-7: false,
91
- $state-8: false, $state-9: false)
92
- {
93
- $full: compact($state-1, $state-2, $state-3, $state-4,
94
- $state-5, $state-6, $state-7, $state-8, $state-9);
95
-
96
- @include prefixer(animation-play-state, $full);
38
+ @mixin animation-play-state ($states...) {
39
+ // running | paused
40
+ @include prefixer(animation-play-state, $states, webkit moz spec);
97
41
  }
98
42
 
99
43
 
100
- @mixin animation-delay ($time-1: 0,
101
- $time-2: false, $time-3: false,
102
- $time-4: false, $time-5: false,
103
- $time-6: false, $time-7: false,
104
- $time-8: false, $time-9: false)
105
- {
106
- $full: compact($time-1, $time-2, $time-3, $time-4,
107
- $time-5, $time-6, $time-7, $time-8, $time-9);
108
-
109
- @include prefixer(animation-delay, $full);
44
+ @mixin animation-delay ($times...) {
45
+ @include prefixer(animation-delay, $times, webkit moz spec);
110
46
  }
111
47
 
112
48
 
113
- @mixin animation-fill-mode ($mode-1: none,
114
- // http://goo.gl/l6ckm
115
- // none | forwards | backwards | both
116
- $mode-2: false, $mode-3: false,
117
- $mode-4: false, $mode-5: false,
118
- $mode-6: false, $mode-7: false,
119
- $mode-8: false, $mode-9: false)
120
- {
121
- $full: compact($mode-1, $mode-2, $mode-3, $mode-4,
122
- $mode-5, $mode-6, $mode-7, $mode-8, $mode-9);
123
-
124
- @include prefixer(animation-fill-mode, $full);
49
+ @mixin animation-fill-mode ($modes...) {
50
+ // none | forwards | backwards | both
51
+ @include prefixer(animation-fill-mode, $modes, webkit moz spec);
125
52
  }
@@ -1,3 +1,3 @@
1
1
  @mixin appearance ($value) {
2
- @include prefixer(appearance, $value, webkit, moz, ms, o);
2
+ @include prefixer(appearance, $value, webkit moz ms o spec);
3
3
  }
@@ -3,19 +3,7 @@
3
3
  // gradients, or for stringing multiple gradients together.
4
4
  //************************************************************************//
5
5
 
6
- @mixin background-image(
7
- $image-1 , $image-2: false,
8
- $image-3: false, $image-4: false,
9
- $image-5: false, $image-6: false,
10
- $image-7: false, $image-8: false,
11
- $image-9: false, $image-10: false
12
- ) {
13
- $images: compact($image-1, $image-2,
14
- $image-3, $image-4,
15
- $image-5, $image-6,
16
- $image-7, $image-8,
17
- $image-9, $image-10);
18
-
6
+ @mixin background-image($images...) {
19
7
  background-image: add-prefix($images, webkit);
20
8
  background-image: add-prefix($images, moz);
21
9
  background-image: add-prefix($images, ms);
@@ -48,10 +36,9 @@
48
36
  }
49
37
 
50
38
 
51
-
52
39
  //Examples:
53
40
  //@include background-image(linear-gradient(top, orange, red));
54
41
  //@include background-image(radial-gradient(50% 50%, cover circle, orange, red));
55
42
  //@include background-image(url("/images/a.png"), linear-gradient(orange, red));
56
43
  //@include background-image(url("image.png"), linear-gradient(orange, red), url("image.png"));
57
- //@include background-image(linear-gradient(hsla(0, 100%, 100%, 0.25) 0%, hsla(0, 100%, 100%, 0.08) 50%, transparent 50%), linear-gradient(orange, red);
44
+ //@include background-image(linear-gradient(hsla(0, 100%, 100%, 0.25) 0%, hsla(0, 100%, 100%, 0.08) 50%, transparent 50%), linear-gradient(orange, red));
@@ -1,11 +1,3 @@
1
- @mixin background-size ($length-1,
2
- $length-2: false, $length-3: false,
3
- $length-4: false, $length-5: false,
4
- $length-6: false, $length-7: false,
5
- $length-8: false, $length-9: false)
6
- {
7
- $full: compact($length-1, $length-2, $length-3, $length-4,
8
- $length-5, $length-6, $length-7, $length-8, $length-9);
9
-
10
- @include prefixer(background-size, $full, webkit, moz, ms, o);
1
+ @mixin background-size ($lengths...) {
2
+ @include prefixer(background-size, $lengths, webkit moz ms o spec);
11
3
  }
@@ -1,44 +1,22 @@
1
- @mixin border-radius ($radii) {
2
- @include prefixer(border-radius, $radii, webkit, not moz);
3
- @warn "border-radius mixin is deprecated and will be removed in the next major version release.";
4
- }
5
-
6
- @mixin border-top-left-radius($radii) {
7
- @include prefixer(border-top-left-radius, $radii, webkit, not moz);
8
- @warn "border-top-left-radius mixin is deprecated and will be removed in the next major version release.";
9
- }
10
-
11
- @mixin border-top-right-radius($radii) {
12
- @include prefixer(border-top-right-radius, $radii, webkit, not moz);
13
- @warn "border-top-right-radius mixin is deprecated and will be removed in the next major version release.";
14
- }
15
-
16
- @mixin border-bottom-left-radius($radii) {
17
- @include prefixer(border-bottom-left-radius, $radii, webkit, not moz);
18
- @warn "border-bottom-left-radius mixin is deprecated and will be removed in the next major version release.";
19
- }
20
-
21
- @mixin border-bottom-right-radius($radii) {
22
- @include prefixer(border-bottom-right-radius, $radii, webkit, not moz);
23
- @warn "border-bottom-right-radius mixin is deprecated and will be removed in the next major version release.";
24
- }
25
-
1
+ //************************************************************************//
2
+ // Shorthand Border-radius mixins
3
+ //************************************************************************//
26
4
  @mixin border-top-radius($radii) {
27
- @include border-top-left-radius($radii);
28
- @include border-top-right-radius($radii);
29
- }
30
-
31
- @mixin border-right-radius($radii) {
32
- @include border-top-right-radius($radii);
33
- @include border-bottom-right-radius($radii);
5
+ @include prefixer(border-top-left-radius, $radii, spec);
6
+ @include prefixer(border-top-right-radius, $radii, spec);
34
7
  }
35
8
 
36
9
  @mixin border-bottom-radius($radii) {
37
- @include border-bottom-left-radius($radii);
38
- @include border-bottom-right-radius($radii);
10
+ @include prefixer(border-bottom-left-radius, $radii, spec);
11
+ @include prefixer(border-bottom-right-radius, $radii, spec);
39
12
  }
40
13
 
41
14
  @mixin border-left-radius($radii) {
42
- @include border-top-left-radius($radii);
43
- @include border-bottom-left-radius($radii);
15
+ @include prefixer(border-top-left-radius, $radii, spec);
16
+ @include prefixer(border-bottom-left-radius, $radii, spec);
17
+ }
18
+
19
+ @mixin border-right-radius($radii) {
20
+ @include prefixer(border-top-right-radius, $radii, spec);
21
+ @include prefixer(border-bottom-right-radius, $radii, spec);
44
22
  }
@@ -1,12 +1,3 @@
1
- // Box-Shadow Mixin Requires Sass v3.1.1+
2
- @mixin box-shadow ($shadow-1,
3
- $shadow-2: false, $shadow-3: false,
4
- $shadow-4: false, $shadow-5: false,
5
- $shadow-6: false, $shadow-7: false,
6
- $shadow-8: false, $shadow-9: false)
7
- {
8
- $full: compact($shadow-1, $shadow-2, $shadow-3, $shadow-4,
9
- $shadow-5, $shadow-6, $shadow-7, $shadow-8, $shadow-9);
10
-
11
- @include prefixer(box-shadow, $full, webkit, not moz);
1
+ @mixin box-shadow ($shadows...) {
2
+ @include prefixer(box-shadow, $shadows, webkit spec);
12
3
  }
@@ -1,4 +1,4 @@
1
1
  @mixin box-sizing ($box) {
2
2
  // content-box | border-box | inherit
3
- @include prefixer(box-sizing, $box);
3
+ @include prefixer(box-sizing, $box, webkit moz spec);
4
4
  }
@@ -1,47 +1,47 @@
1
1
  @mixin columns($arg: auto) {
2
2
  // <column-count> || <column-width>
3
- @include prefixer(columns, $arg);
3
+ @include prefixer(columns, $arg, webkit moz spec);
4
4
  }
5
5
 
6
6
  @mixin column-count($int: auto) {
7
7
  // auto || integer
8
- @include prefixer(column-count, $int);
8
+ @include prefixer(column-count, $int, webkit moz spec);
9
9
  }
10
10
 
11
11
  @mixin column-gap($length: normal) {
12
12
  // normal || length
13
- @include prefixer(column-gap, $length);
13
+ @include prefixer(column-gap, $length, webkit moz spec);
14
14
  }
15
15
 
16
16
  @mixin column-fill($arg: auto) {
17
17
  // auto || length
18
- @include prefixer(columns-fill, $arg);
18
+ @include prefixer(columns-fill, $arg, webkit moz spec);
19
19
  }
20
20
 
21
21
  @mixin column-rule($arg) {
22
22
  // <border-width> || <border-style> || <color>
23
- @include prefixer(column-rule, $arg);
23
+ @include prefixer(column-rule, $arg, webkit moz spec);
24
24
  }
25
25
 
26
26
  @mixin column-rule-color($color) {
27
- @include prefixer(column-rule-color, $color);
27
+ @include prefixer(column-rule-color, $color, webkit moz spec);
28
28
  }
29
29
 
30
30
  @mixin column-rule-style($style: none) {
31
31
  // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
32
- @include prefixer(column-rule-style, $style);
32
+ @include prefixer(column-rule-style, $style, webkit moz spec);
33
33
  }
34
34
 
35
35
  @mixin column-rule-width ($width: none) {
36
- @include prefixer(column-rule-width, $width);
36
+ @include prefixer(column-rule-width, $width, webkit moz spec);
37
37
  }
38
38
 
39
39
  @mixin column-span($arg: none) {
40
40
  // none || all
41
- @include prefixer(column-span, $arg);
41
+ @include prefixer(column-span, $arg, webkit moz spec);
42
42
  }
43
43
 
44
44
  @mixin column-width($length: auto) {
45
45
  // auto || length
46
- @include prefixer(column-width, $length);
46
+ @include prefixer(column-width, $length, webkit moz spec);
47
47
  }
@@ -16,37 +16,37 @@
16
16
 
17
17
  @mixin box-orient($orient: inline-axis) {
18
18
  // horizontal|vertical|inline-axis|block-axis|inherit
19
- @include prefixer(box-orient, $orient);
19
+ @include prefixer(box-orient, $orient, webkit moz spec);
20
20
  }
21
21
 
22
22
  @mixin box-pack($pack: start) {
23
23
  // start|end|center|justify
24
- @include prefixer(box-pack, $pack);
24
+ @include prefixer(box-pack, $pack, webkit moz spec);
25
25
  }
26
26
 
27
27
  @mixin box-align($align: stretch) {
28
28
  // start|end|center|baseline|stretch
29
- @include prefixer(box-align, $align);
29
+ @include prefixer(box-align, $align, webkit moz spec);
30
30
  }
31
31
 
32
32
  @mixin box-direction($direction: normal) {
33
33
  // normal|reverse|inherit
34
- @include prefixer(box-direction, $direction);
34
+ @include prefixer(box-direction, $direction, webkit moz spec);
35
35
  }
36
36
 
37
37
  @mixin box-lines($lines: single) {
38
38
  // single|multiple
39
- @include prefixer(box-lines, $lines);
39
+ @include prefixer(box-lines, $lines, webkit moz spec);
40
40
  }
41
41
 
42
42
  @mixin box-ordinal-group($int: 1) {
43
- @include prefixer(box-ordinal-group, $int);
43
+ @include prefixer(box-ordinal-group, $int, webkit moz spec);
44
44
  }
45
45
 
46
46
  @mixin box-flex($value: 0.0) {
47
- @include prefixer(box-flex, $value);
47
+ @include prefixer(box-flex, $value, webkit moz spec);
48
48
  }
49
49
 
50
50
  @mixin box-flex-group($int: 1) {
51
- @include prefixer(box-flex-group, $int);
51
+ @include prefixer(box-flex-group, $int, webkit moz spec);
52
52
  }
@@ -0,0 +1,8 @@
1
+ @mixin perspective($depth: none) {
2
+ // none | <length>
3
+ @include prefixer(perspective, $depth, webkit moz o spec);
4
+ }
5
+
6
+ @mixin perspective-origin($value: 50% 50%) {
7
+ @include prefixer(perspective-origin, $value, webkit moz o spec);
8
+ }
@@ -56,7 +56,9 @@
56
56
 
57
57
  $full: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
58
58
 
59
- $fallback-color: nth($G1, 1);
59
+ // Set $G1 as the default fallback color
60
+ $first-color: nth($full, 1);
61
+ $fallback-color: nth($first-color, 1);
60
62
 
61
63
  @if (type-of($fallback) == color) or ($fallback == "transparent") {
62
64
  $fallback-color: $fallback;
@@ -1,11 +1,11 @@
1
1
  @mixin transform($property: none) {
2
2
  // none | <transform-function>
3
- @include prefixer(transform, $property, webkit, moz, ms, o);
3
+ @include prefixer(transform, $property, webkit moz ms o spec);
4
4
  }
5
5
 
6
6
  @mixin transform-origin($axes: 50%) {
7
7
  // x-axis - left | center | right | length | %
8
8
  // y-axis - top | center | bottom | length | %
9
9
  // z-axis - length
10
- @include prefixer(transform-origin, $axes, webkit, moz, ms, o);
10
+ @include prefixer(transform-origin, $axes, webkit moz ms o spec);
11
11
  }
@@ -3,70 +3,34 @@
3
3
  // @include transition ((opacity, width), (1.0s, 2.0s), ease-in, (0, 2s));
4
4
  // @include transition ($property:(opacity, width), $delay: (1.5s, 2.5s));
5
5
 
6
- @mixin transition ($prop-1: all 0.15s ease-out 0,
7
- $prop-2: false, $prop-3: false,
8
- $prop-4: false, $prop-5: false,
9
- $prop-6: false, $prop-7: false,
10
- $prop-8: false, $prop-9: false)
11
- {
12
- $full: compact($prop-1, $prop-2, $prop-3, $prop-4, $prop-5,
13
- $prop-6, $prop-7, $prop-8, $prop-9);
14
-
15
- @include prefixer(transition, $full, webkit, moz, ms, o);
6
+ @mixin transition ($properties...) {
7
+ @if length($properties) >= 1 {
8
+ @include prefixer(transition, $properties, webkit moz ms o spec);
9
+ }
10
+
11
+ @else {
12
+ $properties: all 0.15s ease-out 0;
13
+ @include prefixer(transition, $properties, webkit moz ms o spec);
14
+ }
16
15
  }
17
16
 
18
-
19
-
20
- @mixin transition-property ($prop-1: all,
21
- $prop-2: false, $prop-3: false,
22
- $prop-4: false, $prop-5: false,
23
- $prop-6: false, $prop-7: false,
24
- $prop-8: false, $prop-9: false)
25
- {
26
- $full: compact($prop-1, $prop-2, $prop-3, $prop-4, $prop-5,
27
- $prop-6, $prop-7, $prop-8, $prop-9);
28
-
29
- -webkit-transition-property: transition-property-names($full, 'webkit');
30
- -moz-transition-property: transition-property-names($full, 'moz');
31
- -ms-transition-property: transition-property-names($full, 'ms');
32
- -o-transition-property: transition-property-names($full, 'o');
33
- transition-property: transition-property-names($full, false);
17
+ @mixin transition-property ($properties...) {
18
+ -webkit-transition-property: transition-property-names($properties, 'webkit');
19
+ -moz-transition-property: transition-property-names($properties, 'moz');
20
+ -ms-transition-property: transition-property-names($properties, 'ms');
21
+ -o-transition-property: transition-property-names($properties, 'o');
22
+ transition-property: transition-property-names($properties, false);
34
23
  }
35
24
 
36
- @mixin transition-duration ($time-1: 0,
37
- $time-2: false, $time-3: false,
38
- $time-4: false, $time-5: false,
39
- $time-6: false, $time-7: false,
40
- $time-8: false, $time-9: false)
41
- {
42
- $full: compact($time-1, $time-2, $time-3, $time-4, $time-5,
43
- $time-6, $time-7, $time-8, $time-9);
44
-
45
- @include prefixer(transition-duration, $full, webkit, moz, ms, o);
25
+ @mixin transition-duration ($times...) {
26
+ @include prefixer(transition-duration, $times, webkit moz ms o spec);
46
27
  }
47
28
 
48
- @mixin transition-timing-function ($motion-1: ease,
49
- $motion-2: false, $motion-3: false,
50
- $motion-4: false, $motion-5: false,
51
- $motion-6: false, $motion-7: false,
52
- $motion-8: false, $motion-9: false)
53
- {
54
- $full: compact($motion-1, $motion-2, $motion-3, $motion-4, $motion-5,
55
- $motion-6, $motion-7, $motion-8, $motion-9);
56
-
29
+ @mixin transition-timing-function ($motions...) {
57
30
  // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
58
- @include prefixer(transition-timing-function, $full, webkit, moz, ms, o);
31
+ @include prefixer(transition-timing-function, $motions, webkit moz ms o spec);
59
32
  }
60
33
 
61
- @mixin transition-delay ($time-1: 0,
62
- $time-2: false, $time-3: false,
63
- $time-4: false, $time-5: false,
64
- $time-6: false, $time-7: false,
65
- $time-8: false, $time-9: false)
66
- {
67
- $full: compact($time-1, $time-2, $time-3, $time-4, $time-5,
68
- $time-6, $time-7, $time-8, $time-9);
69
-
70
- @include prefixer(transition-delay, $full, webkit, moz, ms, o);
34
+ @mixin transition-delay ($times...) {
35
+ @include prefixer(transition-delay, $times, webkit moz ms o spec);
71
36
  }
72
-
@@ -1,3 +1,3 @@
1
1
  @mixin user-select($arg: none) {
2
- @include prefixer(user-select, $arg, webkit, moz, ms);
2
+ @include prefixer(user-select, $arg, webkit moz ms spec);
3
3
  }
@@ -0,0 +1,11 @@
1
+ // Remove `false` values from a list
2
+
3
+ @function compact($vars...) {
4
+ $list: ();
5
+ @each $var in $vars {
6
+ @if $var {
7
+ $list: append($list, $var, comma);
8
+ }
9
+ }
10
+ @return $list;
11
+ }
@@ -18,7 +18,7 @@
18
18
  $gradient-list: join($gradient-list, $color-stop, comma);
19
19
  }
20
20
 
21
- @else {
21
+ @else if $gradient != null {
22
22
  @if $i == $full-length {
23
23
  $percentage: 100%;
24
24
  }
@@ -1,23 +1,6 @@
1
- @function linear-gradient($pos: top, $G1: false, $G2: false,
2
- $G3: false, $G4: false,
3
- $G5: false, $G6: false,
4
- $G7: false, $G8: false,
5
- $G9: false, $G10: false) {
6
-
7
- // Detect what type of value exists in $pos
8
- $pos-type: type-of(nth($pos, 1));
9
-
10
- // If $pos is missing from mixin, reassign vars and add default position
11
- @if ($pos-type == color) or (nth($pos, 1) == "transparent") {
12
- $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;
13
- $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;
14
- $pos: top; // Default position
15
- }
16
-
1
+ @function linear-gradient($gradients...) {
17
2
  $type: linear;
18
- $gradient: compact($pos, $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
19
- $type-gradient: append($type, $gradient, comma);
3
+ $type-gradient: append($type, $gradients, comma);
20
4
 
21
5
  @return $type-gradient;
22
6
  }
23
-
@@ -5,12 +5,7 @@
5
5
  $G7: false, $G8: false,
6
6
  $G9: false, $G10: false,
7
7
  $pos: 50% 50%,
8
- $shape-size: ellipse cover,
9
- $deprecated-pos1: center center,
10
- $deprecated-pos2: center center,
11
- $deprecated-radius1: 0,
12
- $deprecated-radius2: 50,
13
- $fallback: false) {
8
+ $shape-size: ellipse cover) {
14
9
 
15
10
  @each $value in $G1, $G2 {
16
11
  $first-val: nth($value, 1);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bourbon-compass
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 3.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-05 00:00:00.000000000 Z
12
+ date: 2012-12-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: compass
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
- version: '3.2'
37
+ version: 3.2.0
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: '3.2'
45
+ version: 3.2.0
46
46
  description: ThoughtBot's Bourbon packaged as Compass extension.
47
47
  email: jed@jedfoster.com
48
48
  executables: []
@@ -50,6 +50,7 @@ extensions: []
50
50
  extra_rdoc_files: []
51
51
  files:
52
52
  - lib/bourbon-compass.rb
53
+ - stylesheets/bourbon/_bourbon-deprecated-upcoming.scss
53
54
  - stylesheets/bourbon/_bourbon.scss
54
55
  - stylesheets/bourbon/addons/_button.scss
55
56
  - stylesheets/bourbon/addons/_clearfix.scss
@@ -75,10 +76,12 @@ files:
75
76
  - stylesheets/bourbon/css3/_image-rendering.scss
76
77
  - stylesheets/bourbon/css3/_inline-block.scss
77
78
  - stylesheets/bourbon/css3/_linear-gradient.scss
79
+ - stylesheets/bourbon/css3/_perspective.scss
78
80
  - stylesheets/bourbon/css3/_radial-gradient.scss
79
81
  - stylesheets/bourbon/css3/_transform.scss
80
82
  - stylesheets/bourbon/css3/_transition.scss
81
83
  - stylesheets/bourbon/css3/_user-select.scss
84
+ - stylesheets/bourbon/functions/_compact.scss
82
85
  - stylesheets/bourbon/functions/_deprecated-webkit-gradient.scss
83
86
  - stylesheets/bourbon/functions/_flex-grid.scss
84
87
  - stylesheets/bourbon/functions/_grid-width.scss
@@ -88,10 +91,6 @@ files:
88
91
  - stylesheets/bourbon/functions/_render-gradients.scss
89
92
  - stylesheets/bourbon/functions/_tint-shade.scss
90
93
  - stylesheets/bourbon/functions/_transition-property-name.scss
91
- - stylesheets/bourbon/lib/bourbon/sass_extensions/functions/compact.rb
92
- - stylesheets/bourbon/lib/bourbon/sass_extensions/functions.rb
93
- - stylesheets/bourbon/lib/bourbon/sass_extensions.rb
94
- - stylesheets/bourbon/lib/bourbon.rb
95
94
  homepage: https://github.com/thoughtbot/bourbon
96
95
  licenses: []
97
96
  post_install_message:
@@ -1,23 +0,0 @@
1
- # CodeKit needs relative paths
2
- dir = File.dirname(__FILE__)
3
- $LOAD_PATH.unshift dir unless $LOAD_PATH.include?(dir)
4
-
5
- require "bourbon/generator"
6
-
7
- module Bourbon
8
- if defined?(Rails) && defined?(Rails::Engine)
9
- class Engine < ::Rails::Engine
10
- require 'bourbon/engine'
11
- end
12
-
13
- module Rails
14
- class Railtie < ::Rails::Railtie
15
- rake_tasks do
16
- load "tasks/install.rake"
17
- end
18
- end
19
- end
20
- end
21
- end
22
-
23
- require File.join(File.dirname(__FILE__), "/bourbon/sass_extensions")
@@ -1,8 +0,0 @@
1
- module Bourbon::SassExtensions
2
- end
3
-
4
- unless defined?(Sass)
5
- require 'sass'
6
- end
7
-
8
- require File.join(File.dirname(__FILE__), '/sass_extensions/functions')
@@ -1,13 +0,0 @@
1
- module Bourbon::SassExtensions::Functions
2
- end
3
-
4
- require File.join(File.dirname(__FILE__), "/functions/compact")
5
-
6
- module Sass::Script::Functions
7
- include Bourbon::SassExtensions::Functions::Compact
8
- end
9
-
10
- # Wierd that this has to be re-included to pick up sub-modules. Ruby bug?
11
- class Sass::Script::Functions::EvaluationContext
12
- include Sass::Script::Functions
13
- end
@@ -1,14 +0,0 @@
1
- # Compact function pulled from compass
2
- module Bourbon::SassExtensions::Functions::Compact
3
-
4
- def compact(*args)
5
- sep = :comma
6
- if args.size == 1 && args.first.is_a?(Sass::Script::List)
7
- list = args.first
8
- args = list.value
9
- sep = list.separator
10
- end
11
- Sass::Script::List.new(args.reject{|a| !a.to_bool}, sep)
12
- end
13
-
14
- end