bourbon-compass 2.1.3 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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