compass-core 1.0.0.alpha.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +22 -0
- data/VERSION +1 -0
- data/data/caniuse.json +1 -0
- data/data/caniuse_extras/css-placeholder.json +171 -0
- data/lib/compass-core.rb +1 -0
- data/lib/compass/browser_support.rb +62 -0
- data/lib/compass/configuration.rb +168 -0
- data/lib/compass/configuration/data.rb +178 -0
- data/lib/compass/configuration/defaults.rb +197 -0
- data/lib/compass/configuration/inheritance.rb +304 -0
- data/lib/compass/configuration/paths.rb +19 -0
- data/lib/compass/core.rb +64 -0
- data/lib/compass/core/caniuse.rb +282 -0
- data/lib/compass/core/sass_extensions.rb +10 -0
- data/lib/compass/core/sass_extensions/functions.rb +39 -0
- data/lib/compass/core/sass_extensions/functions/colors.rb +67 -0
- data/lib/compass/core/sass_extensions/functions/configuration.rb +162 -0
- data/lib/compass/core/sass_extensions/functions/constants.rb +74 -0
- data/lib/compass/core/sass_extensions/functions/cross_browser_support.rb +269 -0
- data/lib/compass/core/sass_extensions/functions/display.rb +32 -0
- data/lib/compass/core/sass_extensions/functions/enumerate.rb +7 -0
- data/lib/compass/core/sass_extensions/functions/env.rb +60 -0
- data/lib/compass/core/sass_extensions/functions/font_files.rb +41 -0
- data/lib/compass/core/sass_extensions/functions/gradient_support.rb +616 -0
- data/lib/compass/core/sass_extensions/functions/image_size.rb +117 -0
- data/lib/compass/core/sass_extensions/functions/inline_image.rb +64 -0
- data/lib/compass/core/sass_extensions/functions/lists.rb +101 -0
- data/lib/compass/core/sass_extensions/functions/math.rb +92 -0
- data/lib/compass/core/sass_extensions/functions/selectors.rb +64 -0
- data/lib/compass/core/sass_extensions/functions/urls.rb +297 -0
- data/lib/compass/core/sass_extensions/monkey_patches.rb +3 -0
- data/lib/compass/core/sass_extensions/monkey_patches/browser_support.rb +118 -0
- data/lib/compass/core/sass_extensions/monkey_patches/traversal.rb +23 -0
- data/lib/compass/core/version.rb +5 -0
- data/lib/compass/error.rb +5 -0
- data/stylesheets/_compass.scss +3 -0
- data/stylesheets/_lemonade.scss +38 -0
- data/stylesheets/compass/_configuration.scss +54 -0
- data/stylesheets/compass/_css3.scss +21 -0
- data/stylesheets/compass/_layout.scss +3 -0
- data/stylesheets/compass/_reset-legacy.scss +3 -0
- data/stylesheets/compass/_reset.scss +3 -0
- data/stylesheets/compass/_support.scss +441 -0
- data/stylesheets/compass/_typography.scss +4 -0
- data/stylesheets/compass/_utilities.scss +9 -0
- data/stylesheets/compass/css3/_animation.scss +122 -0
- data/stylesheets/compass/css3/_appearance.scss +17 -0
- data/stylesheets/compass/css3/_background-clip.scss +35 -0
- data/stylesheets/compass/css3/_background-origin.scss +37 -0
- data/stylesheets/compass/css3/_background-size.scss +19 -0
- data/stylesheets/compass/css3/_border-radius.scss +107 -0
- data/stylesheets/compass/css3/_box-shadow.scss +88 -0
- data/stylesheets/compass/css3/_box-sizing.scss +15 -0
- data/stylesheets/compass/css3/_box.scss +85 -0
- data/stylesheets/compass/css3/_columns.scss +210 -0
- data/stylesheets/compass/css3/_deprecated-support.scss +272 -0
- data/stylesheets/compass/css3/_filter.scss +50 -0
- data/stylesheets/compass/css3/_flexbox.scss +156 -0
- data/stylesheets/compass/css3/_font-face.scss +48 -0
- data/stylesheets/compass/css3/_hyphenation.scss +71 -0
- data/stylesheets/compass/css3/_images.scss +139 -0
- data/stylesheets/compass/css3/_inline-block.scss +31 -0
- data/stylesheets/compass/css3/_opacity.scss +23 -0
- data/stylesheets/compass/css3/_pie.scss +1 -0
- data/stylesheets/compass/css3/_regions.scss +27 -0
- data/stylesheets/compass/css3/_selection.scss +59 -0
- data/stylesheets/compass/css3/_shared.scss +5 -0
- data/stylesheets/compass/css3/_text-shadow.scss +82 -0
- data/stylesheets/compass/css3/_transform.scss +590 -0
- data/stylesheets/compass/css3/_transition.scss +171 -0
- data/stylesheets/compass/css3/_user-interface.scss +71 -0
- data/stylesheets/compass/layout/_grid-background.scss +178 -0
- data/stylesheets/compass/layout/_sticky-footer.scss +23 -0
- data/stylesheets/compass/layout/_stretching.scss +24 -0
- data/stylesheets/compass/reset/_utilities-legacy.scss +135 -0
- data/stylesheets/compass/reset/_utilities.scss +142 -0
- data/stylesheets/compass/typography/_links.scss +3 -0
- data/stylesheets/compass/typography/_lists.scss +4 -0
- data/stylesheets/compass/typography/_text.scss +4 -0
- data/stylesheets/compass/typography/_units.scss +152 -0
- data/stylesheets/compass/typography/_vertical_rhythm.scss +300 -0
- data/stylesheets/compass/typography/links/_hover-link.scss +5 -0
- data/stylesheets/compass/typography/links/_link-colors.scss +28 -0
- data/stylesheets/compass/typography/links/_unstyled-link.scss +7 -0
- data/stylesheets/compass/typography/lists/_bullets.scss +34 -0
- data/stylesheets/compass/typography/lists/_horizontal-list.scss +63 -0
- data/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -0
- data/stylesheets/compass/typography/lists/_inline-list.scss +47 -0
- data/stylesheets/compass/typography/text/_ellipsis.scss +25 -0
- data/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
- data/stylesheets/compass/typography/text/_nowrap.scss +2 -0
- data/stylesheets/compass/typography/text/_replacement.scss +68 -0
- data/stylesheets/compass/utilities/_color.scss +1 -0
- data/stylesheets/compass/utilities/_general.scss +6 -0
- data/stylesheets/compass/utilities/_links.scss +5 -0
- data/stylesheets/compass/utilities/_lists.scss +6 -0
- data/stylesheets/compass/utilities/_print.scss +17 -0
- data/stylesheets/compass/utilities/_sass.scss +2 -0
- data/stylesheets/compass/utilities/_sprites.scss +2 -0
- data/stylesheets/compass/utilities/_tables.scss +3 -0
- data/stylesheets/compass/utilities/_text.scss +5 -0
- data/stylesheets/compass/utilities/color/_brightness.scss +12 -0
- data/stylesheets/compass/utilities/color/_contrast.scss +52 -0
- data/stylesheets/compass/utilities/general/_clearfix.scss +44 -0
- data/stylesheets/compass/utilities/general/_float.scss +38 -0
- data/stylesheets/compass/utilities/general/_hacks.scss +65 -0
- data/stylesheets/compass/utilities/general/_min.scss +16 -0
- data/stylesheets/compass/utilities/general/_reset.scss +2 -0
- data/stylesheets/compass/utilities/general/_tabs.scss +1 -0
- data/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
- data/stylesheets/compass/utilities/links/_hover-link.scss +3 -0
- data/stylesheets/compass/utilities/links/_link-colors.scss +3 -0
- data/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -0
- data/stylesheets/compass/utilities/lists/_bullets.scss +3 -0
- data/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -0
- data/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -0
- data/stylesheets/compass/utilities/lists/_inline-list.scss +3 -0
- data/stylesheets/compass/utilities/sass/_lists.scss +16 -0
- data/stylesheets/compass/utilities/sass/_maps.scss +19 -0
- data/stylesheets/compass/utilities/sprites/_base.scss +92 -0
- data/stylesheets/compass/utilities/sprites/_sprite-img.scss +81 -0
- data/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -0
- data/stylesheets/compass/utilities/tables/_borders.scss +38 -0
- data/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
- data/stylesheets/compass/utilities/text/_ellipsis.scss +3 -0
- data/stylesheets/compass/utilities/text/_nowrap.scss +3 -0
- data/stylesheets/compass/utilities/text/_replacement.scss +3 -0
- data/templates/ellipsis/ellipsis.sass +9 -0
- data/templates/ellipsis/manifest.rb +27 -0
- data/templates/ellipsis/xml/ellipsis.xml +14 -0
- data/templates/extension/manifest.rb +26 -0
- data/templates/extension/stylesheets/main.sass +1 -0
- data/templates/extension/templates/project/manifest.rb +2 -0
- data/templates/extension/templates/project/screen.sass +2 -0
- data/templates/project/USAGE.markdown +32 -0
- data/templates/project/ie.sass +6 -0
- data/templates/project/manifest.rb +4 -0
- data/templates/project/print.sass +6 -0
- data/templates/project/screen.sass +7 -0
- metadata +241 -0
@@ -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
|
+
}
|