compass-core 1.0.0.alpha.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +22 -0
  3. data/VERSION +1 -0
  4. data/data/caniuse.json +1 -0
  5. data/data/caniuse_extras/css-placeholder.json +171 -0
  6. data/lib/compass-core.rb +1 -0
  7. data/lib/compass/browser_support.rb +62 -0
  8. data/lib/compass/configuration.rb +168 -0
  9. data/lib/compass/configuration/data.rb +178 -0
  10. data/lib/compass/configuration/defaults.rb +197 -0
  11. data/lib/compass/configuration/inheritance.rb +304 -0
  12. data/lib/compass/configuration/paths.rb +19 -0
  13. data/lib/compass/core.rb +64 -0
  14. data/lib/compass/core/caniuse.rb +282 -0
  15. data/lib/compass/core/sass_extensions.rb +10 -0
  16. data/lib/compass/core/sass_extensions/functions.rb +39 -0
  17. data/lib/compass/core/sass_extensions/functions/colors.rb +67 -0
  18. data/lib/compass/core/sass_extensions/functions/configuration.rb +162 -0
  19. data/lib/compass/core/sass_extensions/functions/constants.rb +74 -0
  20. data/lib/compass/core/sass_extensions/functions/cross_browser_support.rb +269 -0
  21. data/lib/compass/core/sass_extensions/functions/display.rb +32 -0
  22. data/lib/compass/core/sass_extensions/functions/enumerate.rb +7 -0
  23. data/lib/compass/core/sass_extensions/functions/env.rb +60 -0
  24. data/lib/compass/core/sass_extensions/functions/font_files.rb +41 -0
  25. data/lib/compass/core/sass_extensions/functions/gradient_support.rb +616 -0
  26. data/lib/compass/core/sass_extensions/functions/image_size.rb +117 -0
  27. data/lib/compass/core/sass_extensions/functions/inline_image.rb +64 -0
  28. data/lib/compass/core/sass_extensions/functions/lists.rb +101 -0
  29. data/lib/compass/core/sass_extensions/functions/math.rb +92 -0
  30. data/lib/compass/core/sass_extensions/functions/selectors.rb +64 -0
  31. data/lib/compass/core/sass_extensions/functions/urls.rb +297 -0
  32. data/lib/compass/core/sass_extensions/monkey_patches.rb +3 -0
  33. data/lib/compass/core/sass_extensions/monkey_patches/browser_support.rb +118 -0
  34. data/lib/compass/core/sass_extensions/monkey_patches/traversal.rb +23 -0
  35. data/lib/compass/core/version.rb +5 -0
  36. data/lib/compass/error.rb +5 -0
  37. data/stylesheets/_compass.scss +3 -0
  38. data/stylesheets/_lemonade.scss +38 -0
  39. data/stylesheets/compass/_configuration.scss +54 -0
  40. data/stylesheets/compass/_css3.scss +21 -0
  41. data/stylesheets/compass/_layout.scss +3 -0
  42. data/stylesheets/compass/_reset-legacy.scss +3 -0
  43. data/stylesheets/compass/_reset.scss +3 -0
  44. data/stylesheets/compass/_support.scss +441 -0
  45. data/stylesheets/compass/_typography.scss +4 -0
  46. data/stylesheets/compass/_utilities.scss +9 -0
  47. data/stylesheets/compass/css3/_animation.scss +122 -0
  48. data/stylesheets/compass/css3/_appearance.scss +17 -0
  49. data/stylesheets/compass/css3/_background-clip.scss +35 -0
  50. data/stylesheets/compass/css3/_background-origin.scss +37 -0
  51. data/stylesheets/compass/css3/_background-size.scss +19 -0
  52. data/stylesheets/compass/css3/_border-radius.scss +107 -0
  53. data/stylesheets/compass/css3/_box-shadow.scss +88 -0
  54. data/stylesheets/compass/css3/_box-sizing.scss +15 -0
  55. data/stylesheets/compass/css3/_box.scss +85 -0
  56. data/stylesheets/compass/css3/_columns.scss +210 -0
  57. data/stylesheets/compass/css3/_deprecated-support.scss +272 -0
  58. data/stylesheets/compass/css3/_filter.scss +50 -0
  59. data/stylesheets/compass/css3/_flexbox.scss +156 -0
  60. data/stylesheets/compass/css3/_font-face.scss +48 -0
  61. data/stylesheets/compass/css3/_hyphenation.scss +71 -0
  62. data/stylesheets/compass/css3/_images.scss +139 -0
  63. data/stylesheets/compass/css3/_inline-block.scss +31 -0
  64. data/stylesheets/compass/css3/_opacity.scss +23 -0
  65. data/stylesheets/compass/css3/_pie.scss +1 -0
  66. data/stylesheets/compass/css3/_regions.scss +27 -0
  67. data/stylesheets/compass/css3/_selection.scss +59 -0
  68. data/stylesheets/compass/css3/_shared.scss +5 -0
  69. data/stylesheets/compass/css3/_text-shadow.scss +82 -0
  70. data/stylesheets/compass/css3/_transform.scss +590 -0
  71. data/stylesheets/compass/css3/_transition.scss +171 -0
  72. data/stylesheets/compass/css3/_user-interface.scss +71 -0
  73. data/stylesheets/compass/layout/_grid-background.scss +178 -0
  74. data/stylesheets/compass/layout/_sticky-footer.scss +23 -0
  75. data/stylesheets/compass/layout/_stretching.scss +24 -0
  76. data/stylesheets/compass/reset/_utilities-legacy.scss +135 -0
  77. data/stylesheets/compass/reset/_utilities.scss +142 -0
  78. data/stylesheets/compass/typography/_links.scss +3 -0
  79. data/stylesheets/compass/typography/_lists.scss +4 -0
  80. data/stylesheets/compass/typography/_text.scss +4 -0
  81. data/stylesheets/compass/typography/_units.scss +152 -0
  82. data/stylesheets/compass/typography/_vertical_rhythm.scss +300 -0
  83. data/stylesheets/compass/typography/links/_hover-link.scss +5 -0
  84. data/stylesheets/compass/typography/links/_link-colors.scss +28 -0
  85. data/stylesheets/compass/typography/links/_unstyled-link.scss +7 -0
  86. data/stylesheets/compass/typography/lists/_bullets.scss +34 -0
  87. data/stylesheets/compass/typography/lists/_horizontal-list.scss +63 -0
  88. data/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -0
  89. data/stylesheets/compass/typography/lists/_inline-list.scss +47 -0
  90. data/stylesheets/compass/typography/text/_ellipsis.scss +25 -0
  91. data/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
  92. data/stylesheets/compass/typography/text/_nowrap.scss +2 -0
  93. data/stylesheets/compass/typography/text/_replacement.scss +68 -0
  94. data/stylesheets/compass/utilities/_color.scss +1 -0
  95. data/stylesheets/compass/utilities/_general.scss +6 -0
  96. data/stylesheets/compass/utilities/_links.scss +5 -0
  97. data/stylesheets/compass/utilities/_lists.scss +6 -0
  98. data/stylesheets/compass/utilities/_print.scss +17 -0
  99. data/stylesheets/compass/utilities/_sass.scss +2 -0
  100. data/stylesheets/compass/utilities/_sprites.scss +2 -0
  101. data/stylesheets/compass/utilities/_tables.scss +3 -0
  102. data/stylesheets/compass/utilities/_text.scss +5 -0
  103. data/stylesheets/compass/utilities/color/_brightness.scss +12 -0
  104. data/stylesheets/compass/utilities/color/_contrast.scss +52 -0
  105. data/stylesheets/compass/utilities/general/_clearfix.scss +44 -0
  106. data/stylesheets/compass/utilities/general/_float.scss +38 -0
  107. data/stylesheets/compass/utilities/general/_hacks.scss +65 -0
  108. data/stylesheets/compass/utilities/general/_min.scss +16 -0
  109. data/stylesheets/compass/utilities/general/_reset.scss +2 -0
  110. data/stylesheets/compass/utilities/general/_tabs.scss +1 -0
  111. data/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
  112. data/stylesheets/compass/utilities/links/_hover-link.scss +3 -0
  113. data/stylesheets/compass/utilities/links/_link-colors.scss +3 -0
  114. data/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -0
  115. data/stylesheets/compass/utilities/lists/_bullets.scss +3 -0
  116. data/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -0
  117. data/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -0
  118. data/stylesheets/compass/utilities/lists/_inline-list.scss +3 -0
  119. data/stylesheets/compass/utilities/sass/_lists.scss +16 -0
  120. data/stylesheets/compass/utilities/sass/_maps.scss +19 -0
  121. data/stylesheets/compass/utilities/sprites/_base.scss +92 -0
  122. data/stylesheets/compass/utilities/sprites/_sprite-img.scss +81 -0
  123. data/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -0
  124. data/stylesheets/compass/utilities/tables/_borders.scss +38 -0
  125. data/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
  126. data/stylesheets/compass/utilities/text/_ellipsis.scss +3 -0
  127. data/stylesheets/compass/utilities/text/_nowrap.scss +3 -0
  128. data/stylesheets/compass/utilities/text/_replacement.scss +3 -0
  129. data/templates/ellipsis/ellipsis.sass +9 -0
  130. data/templates/ellipsis/manifest.rb +27 -0
  131. data/templates/ellipsis/xml/ellipsis.xml +14 -0
  132. data/templates/extension/manifest.rb +26 -0
  133. data/templates/extension/stylesheets/main.sass +1 -0
  134. data/templates/extension/templates/project/manifest.rb +2 -0
  135. data/templates/extension/templates/project/screen.sass +2 -0
  136. data/templates/project/USAGE.markdown +32 -0
  137. data/templates/project/ie.sass +6 -0
  138. data/templates/project/manifest.rb +4 -0
  139. data/templates/project/print.sass +6 -0
  140. data/templates/project/screen.sass +7 -0
  141. metadata +241 -0
@@ -0,0 +1,4 @@
1
+ @import "typography/links";
2
+ @import "typography/lists";
3
+ @import "typography/text";
4
+ @import "typography/vertical_rhythm";
@@ -0,0 +1,9 @@
1
+ @import "utilities/color";
2
+ @import "utilities/general";
3
+ @import "utilities/sprites";
4
+ @import "utilities/tables";
5
+
6
+ // deprecated
7
+ @import "typography/links";
8
+ @import "typography/lists";
9
+ @import "typography/text";
@@ -0,0 +1,122 @@
1
+ @import "compass/support";
2
+
3
+ // The prefixed support threshold for animation.
4
+ // Defaults to the $graceful-usage-threshold.
5
+ $animation-support-threshold: $graceful-usage-threshold !default;
6
+
7
+
8
+ // Name of any animation as a string.
9
+ $default-animation-name : null !default;
10
+
11
+ // Duration of the entire animation in seconds.
12
+ $default-animation-duration : null !default;
13
+
14
+ // Delay for start of animation in seconds.
15
+ $default-animation-delay : null !default;
16
+
17
+ // The timing function(s) to be used between keyframes. [ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier($number, $number, $number, $number)]
18
+ $default-animation-timing-function : null !default;
19
+
20
+ // The number of times an animation cycle is played. [infinite | $number]
21
+ $default-animation-iteration-count : null !default;
22
+
23
+ // Whether or not the animation should play in reverse on alternate cycles. [normal | alternate]
24
+ $default-animation-direction : null !default;
25
+
26
+ // What values are applied by the animation outside the time it is executing. [none | forwards | backwards | both]
27
+ $default-animation-fill-mode : null !default;
28
+
29
+ // Whether the animation is running or paused. [running | paused]
30
+ $default-animation-play-state : null !default;
31
+
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($name, $deprecated-prefixes...) {
38
+ $warned: warn-about-useless-prefix-arguments($deprecated-prefixes...);
39
+
40
+ @include with-each-prefix(css-animation, $animation-support-threshold) {
41
+ // It would be nice if we could dynamically construct directive names.
42
+ @if $current-prefix == -moz { @-moz-keyframes #{$name} { @content; } }
43
+ @if $current-prefix == -webkit { @-webkit-keyframes #{$name} { @content; } }
44
+ @if $current-prefix == -o { @-o-keyframes #{$name} { @content; } }
45
+ @if $current-prefix == -ms { @-ms-keyframes #{$name} { @content; } }
46
+ @if $current-prefix == null { @keyframes #{$name} { @content; } }
47
+ }
48
+ }
49
+
50
+ // @private
51
+ @mixin animation-properties($properties) {
52
+ @include prefixed-properties(css-animation, $animation-support-threshold, $properties);
53
+ }
54
+
55
+
56
+ // Apply any number of animation names.
57
+ @mixin animation-name($name...) {
58
+ $name: set-arglist-default($name, $default-animation-name);
59
+ @include animation-properties((animation-name: $name));
60
+ }
61
+
62
+ // Apply any number of animation durations.
63
+ @mixin animation-duration($duration...) {
64
+ $duration: set-arglist-default($duration, $default-animation-duration);
65
+ @include animation-properties((animation-duration: $duration));
66
+ }
67
+
68
+ // Apply any number of animation delays.
69
+ @mixin animation-delay($delay...) {
70
+ $delay: set-arglist-default($delay, $default-animation-delay);
71
+ @include animation-properties((animation-delay: $delay));
72
+ }
73
+
74
+ // Apply any number of animation timing functions.
75
+ @mixin animation-timing-function($function...) {
76
+ $function: set-arglist-default($function, $default-animation-timing-function);
77
+ @include animation-properties((animation-timing-function: $function));
78
+ }
79
+
80
+ // Apply any number of animation iteration counts.
81
+ @mixin animation-iteration-count($count...) {
82
+ $count: set-arglist-default($count, $default-animation-iteration-count);
83
+ @include animation-properties((animation-iteration-count: $count));
84
+ }
85
+
86
+ // Apply any number of animation directions.
87
+ @mixin animation-direction($direction...) {
88
+ $direction: set-arglist-default($direction, $default-animation-direction);
89
+ @include animation-properties((animation-direction: $direction));
90
+ }
91
+
92
+ // Apply any number of animation fill modes.
93
+ @mixin animation-fill-mode($mode...) {
94
+ $mode: set-arglist-default($mode, $default-animation-fill-mode);
95
+ @include animation-properties((animation-fill-mode: $mode));
96
+ }
97
+
98
+ // Apply any number of animation play states.
99
+ @mixin animation-play-state($state...) {
100
+ $state: set-arglist-default($state, $default-animation-play-state);
101
+ @include animation-properties((animation-play-state: $state));
102
+ }
103
+
104
+ // @private
105
+ @function default-animation() {
106
+ @return compact($default-animation-name
107
+ $default-animation-duration
108
+ $default-animation-timing-function
109
+ $default-animation-delay
110
+ $default-animation-iteration-count
111
+ $default-animation-direction
112
+ $default-animation-fill-mode
113
+ $default-animation-play-state);
114
+ }
115
+
116
+ // Shortcut to apply any number of animations to an element, with all the settings.
117
+ //
118
+ // $animation... : Name and settings. [<values> | default]
119
+ @mixin animation($animation...) {
120
+ $animation: if(length($animation) > 0, $animation, default-animation());
121
+ @include animation-properties((animation: $animation));
122
+ }
@@ -0,0 +1,17 @@
1
+ // Appearance
2
+ @import "compass/support";
3
+
4
+ // Change the appearance for Mozilla, Webkit and possibly the future.
5
+ // The appearance property is currently not present in any newer CSS specification.
6
+ //
7
+ // There is no official list of accepted values, but you might check these source:
8
+ //
9
+ // * [Mozilla](https://developer.mozilla.org/en/CSS/-moz-appearance)
10
+ // * [Webkit](http://code.google.com/p/webkit-mirror/source/browse/Source/WebCore/css/CSSValueKeywords.in?spec=svnf1aea559dcd025a8946aa7da6e4e8306f5c1b604&r=63c7d1af44430b314233fea342c3ddb2a052e365)
11
+ // (search for 'appearance' within the page)
12
+ @mixin appearance($appearance) {
13
+ // There is no caniuse tracking for appearance.
14
+ $appearance: unquote($appearance);
15
+ @include with-prefix(-moz) { -moz-appearance: $appearance; }
16
+ @include with-prefix(-webkit) { -webkit-appearance: $appearance; }
17
+ }
@@ -0,0 +1,35 @@
1
+ // Background Clip
2
+ @import "compass/support";
3
+
4
+ // The the user threshold for background-clip support. Defaults to `$critical-usage-threshold`
5
+ $background-clip-support-threshold: $critical-usage-threshold !default;
6
+
7
+ // The default border-box model: [border-box | padding-box | content-box]
8
+ $default-background-clip: padding-box !default;
9
+
10
+
11
+ // Clip the background (image and color) at the edge of the padding, border, or content.
12
+ // $clip... : [padding-box | border-box | content-box]
13
+ @mixin background-clip($clip...) {
14
+ $output: ();
15
+ $deprecated: ();
16
+
17
+ @if (length($clip) > 0) {
18
+ @each $layer in $clip {
19
+ $output: append($output, unquote($layer), comma);
20
+ $deprecated: append($deprecated, legacy-box($layer), comma);
21
+ }
22
+ } @else {
23
+ $output: $default-background-clip;
24
+ $deprecated: legacy-box($default-background-clip);
25
+ }
26
+
27
+ @include with-each-prefix(background-img-opts, $background-clip-support-threshold) {
28
+ @if $current-prefix == -moz or $current-prefix == -webkit {
29
+ // Legacy versions of Mozilla support a different syntax, prefixed.
30
+ @include prefix-prop(background-clip, $deprecated);
31
+ } @else {
32
+ @include prefix-prop(background-clip, $output);
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,37 @@
1
+ // Background Origin
2
+ @import "compass/support";
3
+
4
+ // The the user threshold for background-origin support. Defaults to `$critical-usage-threshold`
5
+ $background-origin-threshold: $critical-usage-threshold !default;
6
+
7
+
8
+ // The default background-origin: [border-box | padding-box | content-box]
9
+ $default-background-origin: content-box !default;
10
+
11
+
12
+ // Set the origin of the background (image and color) at the edge of the padding, border, or content.
13
+ //
14
+ // $origin... : [padding-box | border-box | content-box]
15
+ @mixin background-origin($origin...) {
16
+ $output: ();
17
+ $deprecated: ();
18
+
19
+ @if (length($origin) > 0) {
20
+ @each $layer in $origin {
21
+ $output: append($output, unquote($layer), comma);
22
+ $deprecated: append($deprecated, legacy-box($layer), comma);
23
+ }
24
+ } @else {
25
+ $output: $default-background-origin;
26
+ $deprecated: legacy-box($default-background-origin);
27
+ }
28
+
29
+ @include with-each-prefix(background-img-opts, $background-origin-threshold) {
30
+ @if $current-prefix == -moz or $current-prefix == -webkit {
31
+ // Legacy versions of Mozilla support a different syntax, prefixed.
32
+ @include prefix-prop(background-origin, $deprecated)
33
+ } @else {
34
+ @include prefix-prop(background-origin, $output)
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,19 @@
1
+ // Background Size
2
+ @import "compass/support";
3
+
4
+ // The the user threshold for background-clip support. Defaults to `$critical-usage-threshold`
5
+ $background-size-threshold: $critical-usage-threshold !default;
6
+
7
+ // override to change the default
8
+ $default-background-size: 100% auto !default;
9
+
10
+
11
+ // Set the size of background images using px, width and height, or percentages.
12
+ // Currently supported in: Opera, Gecko, Webkit.
13
+ //
14
+ // * percentages are relative to the background-origin (default = padding-box)
15
+ // * mixin defaults to: `$default-background-size`
16
+ @mixin background-size($size...) {
17
+ $size: set-arglist-default($size, $default-background-size);
18
+ @include prefixed-properties(background-img-opts, $background-size-threshold, (background-size: $size));
19
+ }
@@ -0,0 +1,107 @@
1
+ // Border Radius
2
+
3
+ @import "compass/support";
4
+
5
+
6
+ // The the user threshold for border-radius support. Defaults to `$graceful-usage-threshold`
7
+ $border-radius-threshold: $graceful-usage-threshold !default;
8
+
9
+ // The length of a border-radius to be used by default.
10
+ $default-border-radius: 5px !default;
11
+
12
+
13
+ // Round all corners by a specific amount, defaults to value of `$default-border-radius`.
14
+ //
15
+ // When two values are passed, the first is the horizontal radius
16
+ // and the second is the vertical radius.
17
+ //
18
+ // Note: webkit does not support shorthand syntax for several corners at once.
19
+ // So in the case where you pass several values only the first will be passed to webkit.
20
+ //
21
+ // Examples:
22
+ //
23
+ // .simple { @include border-radius(4px, 4px); }
24
+ // .compound { @include border-radius(2px 5px, 3px 6px); }
25
+ // .crazy { @include border-radius(1px 3px 5px 7px, 2px 4px 6px 8px)}
26
+ //
27
+ // Which generates:
28
+ //
29
+ // .simple {
30
+ // -moz-border-radius: 4px / 4px;
31
+ // -webkit-border-radius: 4px 4px;
32
+ // border-radius: 4px / 4px; }
33
+ //
34
+ // .compound {
35
+ // -moz-border-radius: 2px 5px / 3px 6px;
36
+ // -webkit-border-radius: 2px 3px;
37
+ // border-radius: 2px 5px / 3px 6px; }
38
+ //
39
+ // .crazy {
40
+ // -moz-border-radius: 1px 3px 5px 7px / 2px 4px 6px 8px;
41
+ // -webkit-border-radius: 1px 2px;
42
+ // border-radius: 1px 3px 5px 7px / 2px 4px 6px 8px; }
43
+ @mixin border-radius($radius: $default-border-radius, $vertical-radius: false) {
44
+ @include with-each-prefix(border-radius, $border-radius-threshold) {
45
+ @if $current-prefix == -webkit {
46
+ // Legacy Webkit didn't understand the official shorthand syntax for specifying a vertical radius.
47
+ $legacy-webkit-radius: first-value-of($radius);
48
+ @if $vertical-radius { $legacy-webkit-radius: append($legacy-webkit-radius, first-value-of($vertical-radius)); }
49
+ @include prefix-prop(border-radius, $legacy-webkit-radius);
50
+ } @else {
51
+ // Official syntax for everyone else
52
+ @include prefix-prop(border-radius, if($vertical-radius, #{$radius} / #{$vertical-radius}, $radius));
53
+ }
54
+ }
55
+ }
56
+
57
+ // Round radius at position by amount.
58
+ //
59
+ // * legal values for `$vert`: `top`, `bottom`
60
+ // * legal values for `$horz`: `left`, `right`
61
+ @mixin border-corner-radius($vert, $horz, $radius: $default-border-radius) {
62
+ @include with-each-prefix(border-radius, $border-radius-threshold) {
63
+ @if $current-prefix == -moz {
64
+ // Support for mozilla's syntax for specifying a corner
65
+ @include prefix-prop("border-radius-#{$vert}#{$horz}", $radius);
66
+ } @else {
67
+ // Official syntax for everyone else
68
+ @include prefix-prop("border-#{$vert}-#{$horz}-radius", $radius);
69
+ }
70
+ }
71
+ }
72
+
73
+ // Round top-left corner only
74
+ @mixin border-top-left-radius($radius: $default-border-radius) {
75
+ @include border-corner-radius(top, left, $radius); }
76
+
77
+ // Round top-right corner only
78
+ @mixin border-top-right-radius($radius: $default-border-radius) {
79
+ @include border-corner-radius(top, right, $radius); }
80
+
81
+ // Round bottom-left corner only
82
+ @mixin border-bottom-left-radius($radius: $default-border-radius) {
83
+ @include border-corner-radius(bottom, left, $radius); }
84
+
85
+ // Round bottom-right corner only
86
+ @mixin border-bottom-right-radius($radius: $default-border-radius) {
87
+ @include border-corner-radius(bottom, right, $radius); }
88
+
89
+ // Round both top corners by amount
90
+ @mixin border-top-radius($radius: $default-border-radius) {
91
+ @include border-top-left-radius($radius);
92
+ @include border-top-right-radius($radius); }
93
+
94
+ // Round both right corners by amount
95
+ @mixin border-right-radius($radius: $default-border-radius) {
96
+ @include border-top-right-radius($radius);
97
+ @include border-bottom-right-radius($radius); }
98
+
99
+ // Round both bottom corners by amount
100
+ @mixin border-bottom-radius($radius: $default-border-radius) {
101
+ @include border-bottom-left-radius($radius);
102
+ @include border-bottom-right-radius($radius); }
103
+
104
+ // Round both left corners by amount
105
+ @mixin border-left-radius($radius: $default-border-radius) {
106
+ @include border-top-left-radius($radius);
107
+ @include border-bottom-left-radius($radius); }
@@ -0,0 +1,88 @@
1
+ // Box Shadow
2
+
3
+ @import "compass/support";
4
+
5
+ // The prefixed support threshold for box-shadow.
6
+ // Defaults to the $graceful-usage-threshold.
7
+ $box-shadow-support-threshold: $graceful-usage-threshold !default;
8
+
9
+
10
+ // The default color for box shadows
11
+ $default-box-shadow-color: #333333 !default;
12
+
13
+ // The default horizontal offset. Positive is to the right.
14
+ $default-box-shadow-h-offset: 0px !default;
15
+
16
+ // The default vertical offset. Positive is down.
17
+ $default-box-shadow-v-offset: 0px !default;
18
+
19
+ // The default blur length.
20
+ $default-box-shadow-blur: 5px !default;
21
+
22
+ // The default spread length.
23
+ $default-box-shadow-spread: null !default;
24
+
25
+ // The default shadow inset: inset or null (for standard shadow).
26
+ $default-box-shadow-inset: null !default;
27
+
28
+ @function default-box-shadow() {
29
+ @return compact(if($default-box-shadow-inset, inset, null)
30
+ $default-box-shadow-h-offset
31
+ $default-box-shadow-v-offset
32
+ $default-box-shadow-blur
33
+ $default-box-shadow-spread
34
+ $default-box-shadow-color);
35
+ }
36
+
37
+ // Provides cross-browser for Webkit, Gecko, and CSS3 box shadows
38
+ // when one or more box shadows are needed.
39
+ // Each shadow argument should adhere to the standard css3 syntax
40
+ // for the box-shadow property.
41
+ @mixin box-shadow($shadow...) {
42
+ $shadow: set-arglist-default($shadow, default-box-shadow());
43
+ @include prefixed-properties(css-boxshadow, $box-shadow-support-threshold, (box-shadow: $shadow));
44
+ }
45
+
46
+ // Provides a single cross-browser CSS box shadow for Webkit, Gecko, and CSS3.
47
+ // Includes default arguments for color, horizontal offset, vertical offset, blur length, spread length, and inset.
48
+ @mixin single-box-shadow(
49
+ $hoff : null,
50
+ $voff : null,
51
+ $blur : null,
52
+ $spread : null,
53
+ $color : null,
54
+ $inset : $default-box-shadow-inset
55
+ ) {
56
+ // Handle legacy argument order
57
+ @if not ($hoff == none or $hoff == null) and type-of($hoff) != number {
58
+ @warn "The $color argument for single-box-shadow is now the 5th argument instead of the 1st.";
59
+ $tmp-color: $color;
60
+ $color: $hoff;
61
+ $hoff: $voff;
62
+ $voff: $blur;
63
+ $blur: $spread;
64
+ $spread: $tmp-color
65
+ }
66
+
67
+ // Need to set these defaults here instead of the arglist to support the above backwards compat handling
68
+ @if $hoff == null { $hoff: $default-box-shadow-h-offset; }
69
+ @if $voff == null { $hoff: $default-box-shadow-v-offset; }
70
+ @if $blur == null { $blur: $default-box-shadow-blur; }
71
+ @if $spread == null { $spread: $default-box-shadow-spread; }
72
+ @if $color == null { $color: $default-box-shadow-color; }
73
+
74
+ @if not ($inset == true or $inset == false or $inset == null or $inset == inset) {
75
+ @warn "$inset expected to be true or the inset keyword. Got #{$inset} instead. Using: inset";
76
+ }
77
+
78
+ @if $hoff == none {
79
+ @include box-shadow(none);
80
+ } @else {
81
+ $full : $hoff $voff;
82
+ @if $blur { $full: $full $blur; }
83
+ @if $spread { $full: $full $spread; }
84
+ @if $color { $full: $full $color; }
85
+ @if $inset { $full: inset $full; }
86
+ @include box-shadow($full);
87
+ }
88
+ }