gem_2345 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gem_2345/import-once.rb +28 -0
- data/lib/gem_2345/import-once/activate.rb +20 -0
- data/lib/gem_2345/import-once/engine.rb +36 -0
- data/lib/gem_2345/import-once/importer.rb +81 -0
- data/lib/gem_2345/import-once/version.rb +5 -0
- data/lib/gem_2345/version.rb +1 -1
- 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 +447 -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 +21 -0
- data/stylesheets/compass/css3/_box.scss +85 -0
- data/stylesheets/compass/css3/_columns.scss +212 -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 +152 -0
- data/stylesheets/compass/css3/_inline-block.scss +31 -0
- data/stylesheets/compass/css3/_opacity.scss +27 -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 +190 -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 +183 -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 +74 -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 +20 -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 +113 -10
- data/.gitignore +0 -14
- data/Gemfile +0 -4
- data/LICENSE.txt +0 -22
- data/README.md +0 -31
- data/Rakefile +0 -9
- data/gem_2345.gemspec +0 -25
@@ -0,0 +1,50 @@
|
|
1
|
+
// Filter
|
2
|
+
@import "compass/support";
|
3
|
+
|
4
|
+
// The prefixed support threshold for css filter effects.
|
5
|
+
// Defaults to the $graceful-usage-threshold.
|
6
|
+
$filter-support-threshold: $graceful-usage-threshold !default;
|
7
|
+
|
8
|
+
|
9
|
+
// Provides cross-browser support for the upcoming (?) css3 filter property.
|
10
|
+
//
|
11
|
+
// The filter argument should adhere to the standard css3 syntax
|
12
|
+
// for the filter property.
|
13
|
+
@mixin filter($filters) {
|
14
|
+
@include prefixed-properties(css-filters, $filter-support-threshold,(
|
15
|
+
filter: $filters
|
16
|
+
));
|
17
|
+
}
|
18
|
+
|
19
|
+
// @private Apply filter-margins
|
20
|
+
@mixin apply-filter-margin($position, $width) {
|
21
|
+
@include prefixed-properties(css-filters, $filter-support-threshold,(
|
22
|
+
filter-margin-#{$position}: $width
|
23
|
+
));
|
24
|
+
}
|
25
|
+
|
26
|
+
// filter-margin-top
|
27
|
+
@mixin filter-margin-top($width) { @include apply-filter-margin(top, $width); }
|
28
|
+
|
29
|
+
// filter-margin-right
|
30
|
+
@mixin filter-margin-right($width) { @include apply-filter-margin(right, $width); }
|
31
|
+
|
32
|
+
// filter-margin-bottom
|
33
|
+
@mixin filter-margin-bottom($width) { @include apply-filter-margin(bottom, $width); }
|
34
|
+
|
35
|
+
// filter-margin-left
|
36
|
+
@mixin filter-margin-left($width) { @include apply-filter-margin(left, $width); }
|
37
|
+
|
38
|
+
// filter-margin
|
39
|
+
@mixin filter-margin($widths) {
|
40
|
+
@include prefixed-properties(css-filters, $filter-support-threshold,(
|
41
|
+
filter-margin: $widths
|
42
|
+
));
|
43
|
+
}
|
44
|
+
|
45
|
+
// color-interpolation-filters (auto | sRGB | linearRGB )
|
46
|
+
@mixin color-interpolation-filters($value) {
|
47
|
+
@include prefixed-properties(css-filters, $filter-support-threshold,(
|
48
|
+
color-interpolation-filters: $value
|
49
|
+
));
|
50
|
+
}
|
@@ -0,0 +1,156 @@
|
|
1
|
+
// There are two ways to use the flexbox module.
|
2
|
+
// If you're using the final version of the spec,
|
3
|
+
// you can use the property mixins as elsewhere in
|
4
|
+
// the css3 module.
|
5
|
+
//
|
6
|
+
// You can also use the flexbox prefixing mixin `flexbox`.
|
7
|
+
// This mixin takes an optional `$version` argument which
|
8
|
+
// allows you to specify which spec version the properties
|
9
|
+
// are using so that they will be prefixed correctly.
|
10
|
+
//
|
11
|
+
// Example:
|
12
|
+
//
|
13
|
+
// .flex-column {
|
14
|
+
// /* For flexbox spec v1 */
|
15
|
+
// @include flexbox((
|
16
|
+
// display: box,
|
17
|
+
// box-orient: vertical,
|
18
|
+
// ), $version: 1);
|
19
|
+
//
|
20
|
+
// /* For flexbox spec v2 */
|
21
|
+
// @include flexbox((
|
22
|
+
// display: flexbox,
|
23
|
+
// flex-direction: column,
|
24
|
+
// ), $version: 2);
|
25
|
+
//
|
26
|
+
// /* Latest Spec */
|
27
|
+
// @include flexbox((
|
28
|
+
// display: flex,
|
29
|
+
// flex-direction: column,
|
30
|
+
// ));
|
31
|
+
// }
|
32
|
+
//
|
33
|
+
// Which compiles to:
|
34
|
+
//
|
35
|
+
// .flex-row {
|
36
|
+
// /* For flexbox spec v1 */
|
37
|
+
// display: -moz-box;
|
38
|
+
// -moz-box-orient: vertical;
|
39
|
+
// display: -webkit-box;
|
40
|
+
// -webkit-box-orient: vertical;
|
41
|
+
//
|
42
|
+
// /* For flexbox spec v2 */
|
43
|
+
// display: -ms-flexbox;
|
44
|
+
// -ms-flex-direction: column;
|
45
|
+
//
|
46
|
+
// /* Latest Spec */
|
47
|
+
// display: -webkit-flex;
|
48
|
+
// -webkit-flex-direction: column;
|
49
|
+
// display: flex;
|
50
|
+
// flex-direction: column;
|
51
|
+
// }
|
52
|
+
|
53
|
+
@import "compass/support";
|
54
|
+
|
55
|
+
$flexbox-support-threshold: $critical-usage-threshold !default;
|
56
|
+
|
57
|
+
|
58
|
+
// @private
|
59
|
+
$flexbox-capability-options: (
|
60
|
+
(full-support: true),
|
61
|
+
(partial-support: true, spec-versions: 3)
|
62
|
+
);
|
63
|
+
|
64
|
+
// This is the underlying implementation for all the other mixins in this module.
|
65
|
+
// It is the only way to access prefix support for older versions of the spec.
|
66
|
+
//
|
67
|
+
// `$properties`: map of property-value pairs that should be prefixed
|
68
|
+
|
69
|
+
// `$version1: the version of the spec to use when considering what prefix
|
70
|
+
// to appply. Defaults to the most recent (spec version 3). Only the most
|
71
|
+
// recent version of the spec outputs an unprefixed version.
|
72
|
+
@mixin flexbox($properties, $version: null) {
|
73
|
+
$capability-options: $flexbox-capability-options;
|
74
|
+
@if $version {
|
75
|
+
$capability-options: (partial-support: true, spec-versions: $version);
|
76
|
+
}
|
77
|
+
|
78
|
+
@include with-each-prefix(flexbox, $flexbox-support-threshold, $capability-options) {
|
79
|
+
// Don't output unprefixed versions when the spec version is not the final version
|
80
|
+
@if $version and $current-prefix or not $version or $version == 3 {
|
81
|
+
@each $prop, $value in $properties {
|
82
|
+
@if $prop == display {
|
83
|
+
display: prefix-identifier($value);
|
84
|
+
} @else {
|
85
|
+
@include prefix-prop($prop, $value);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
// Values for $display are: flex (default), inline-flex
|
93
|
+
@mixin display-flex($display: flex) {
|
94
|
+
@include flexbox((display: $display));
|
95
|
+
}
|
96
|
+
|
97
|
+
// Values: row | row-reverse | column | column-reverse
|
98
|
+
@mixin flex-direction($direction) {
|
99
|
+
@include flexbox((flex-direction: $direction));
|
100
|
+
}
|
101
|
+
|
102
|
+
// Values: nowrap | wrap | wrap-reverse
|
103
|
+
@mixin flex-wrap($wrap) {
|
104
|
+
@include flexbox((flex-wrap: $wrap));
|
105
|
+
}
|
106
|
+
|
107
|
+
// Shorthand for flex-direction and flex-wrap.
|
108
|
+
@mixin flex-flow($flow) {
|
109
|
+
@include flexbox((flex-flow: $flow));
|
110
|
+
}
|
111
|
+
|
112
|
+
// Accepts an integer
|
113
|
+
@mixin order($order) {
|
114
|
+
@include flexbox((order: $order));
|
115
|
+
}
|
116
|
+
|
117
|
+
// Shorthand for flex-grow, flex-shrink and optionally flex-basis.
|
118
|
+
// Space separated, in that order.
|
119
|
+
@mixin flex($flex) {
|
120
|
+
@include flexbox((flex: $flex));
|
121
|
+
}
|
122
|
+
|
123
|
+
// Accepts a number.
|
124
|
+
@mixin flex-grow($flex-grow) {
|
125
|
+
@include flexbox((flex-grow: $flex-grow));
|
126
|
+
}
|
127
|
+
|
128
|
+
// Accepts a number.
|
129
|
+
@mixin flex-shrink($flex-shrink) {
|
130
|
+
@include flexbox((flex-shrink: $flex-shrink));
|
131
|
+
}
|
132
|
+
|
133
|
+
// Accepts any legal value for the width property.
|
134
|
+
@mixin flex-basis($flex-basis) {
|
135
|
+
@include flexbox((flex-basis: $flex-basis));
|
136
|
+
}
|
137
|
+
|
138
|
+
// Legal values: flex-start | flex-end | center | space-between | space-around
|
139
|
+
@mixin justify-content($justify-content) {
|
140
|
+
@include flexbox((justify-content: $justify-content));
|
141
|
+
}
|
142
|
+
|
143
|
+
// Legal values: flex-start | flex-end | center | baseline | stretch
|
144
|
+
@mixin align-items($align-items) {
|
145
|
+
@include flexbox((align-items: $align-items));
|
146
|
+
}
|
147
|
+
|
148
|
+
// Legal values: auto | flex-start | flex-end | center | baseline | stretch
|
149
|
+
@mixin align-self($align-self) {
|
150
|
+
@include flexbox((align-self: $align-self));
|
151
|
+
}
|
152
|
+
|
153
|
+
// Legal values: flex-start | flex-end | center | space-between | space-around | stretch
|
154
|
+
@mixin align-content($align-content) {
|
155
|
+
@include flexbox((align-content: $align-content));
|
156
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
@import "compass/support";
|
2
|
+
|
3
|
+
// Cross-browser support for @font-face. Supports IE, Gecko, Webkit, Opera.
|
4
|
+
//
|
5
|
+
// * $name is required, arbitrary, and what you will use in font stacks.
|
6
|
+
// * $font-files is required using font-files('relative/location', 'format').
|
7
|
+
// for best results use this order: woff, opentype/truetype, svg
|
8
|
+
// * $eot is required by IE, and is a relative location of the eot file.
|
9
|
+
// * $weight shows if the font is bold, defaults to normal
|
10
|
+
// * $style defaults to normal, might be also italic
|
11
|
+
// * For android 2.2 Compatiblity, please ensure that your web page has
|
12
|
+
// a meta viewport tag.
|
13
|
+
// * To support iOS < 4.2, an SVG file must be provided
|
14
|
+
//
|
15
|
+
// If you need to generate other formats check out the Font Squirrel
|
16
|
+
// [font generator](http://www.fontsquirrel.com/fontface/generator)
|
17
|
+
//
|
18
|
+
|
19
|
+
// In order to refer to a specific style of the font in your stylesheets as
|
20
|
+
// e.g. "font-style: italic;", you may add a couple of @font-face includes
|
21
|
+
// containing the respective font files for each style and specying
|
22
|
+
// respective the $style parameter.
|
23
|
+
|
24
|
+
// Order of the includes matters, and it is: normal, bold, italic, bold+italic.
|
25
|
+
|
26
|
+
@mixin font-face(
|
27
|
+
$name,
|
28
|
+
$font-files,
|
29
|
+
$eot: false,
|
30
|
+
$weight: false,
|
31
|
+
$style: false
|
32
|
+
) {
|
33
|
+
$iefont: unquote("#{$eot}?#iefix");
|
34
|
+
@font-face {
|
35
|
+
font-family: quote($name);
|
36
|
+
@if $eot {
|
37
|
+
src: font-url($eot);
|
38
|
+
$font-files: font-url($iefont) unquote("format('embedded-opentype')"), $font-files;
|
39
|
+
}
|
40
|
+
src: $font-files;
|
41
|
+
@if $weight {
|
42
|
+
font-weight: $weight;
|
43
|
+
}
|
44
|
+
@if $style {
|
45
|
+
font-style: $style;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
// Mixins to support specific CSS Text Level 3 elements
|
2
|
+
|
3
|
+
@import "compass/support";
|
4
|
+
|
5
|
+
// The the user threshold for hyphens support.
|
6
|
+
// Defaults to `$graceful-usage-threshold`.
|
7
|
+
$hyphens-support-threshold: $graceful-usage-threshold !default;
|
8
|
+
|
9
|
+
|
10
|
+
// Mixin for word-break properties
|
11
|
+
// http://www.w3.org/css3-text/#word-break
|
12
|
+
// * legal values for $type : normal, keep-all, break-all
|
13
|
+
//
|
14
|
+
// Example:
|
15
|
+
// p.wordBreak {@include word-break(break-all);}
|
16
|
+
//
|
17
|
+
// Which generates:
|
18
|
+
// p.wordBreak {
|
19
|
+
// word-break: break-all;
|
20
|
+
// word-break: break-word;}
|
21
|
+
//
|
22
|
+
@mixin word-break($value: normal){
|
23
|
+
word-break: $value;
|
24
|
+
@if $value == break-all {
|
25
|
+
//Webkit handles break-all differently... as break-word
|
26
|
+
@include with-prefix(-webkit) {
|
27
|
+
word-break: break-word;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
// Mixin for the hyphens property
|
33
|
+
//
|
34
|
+
// W3C specification: http://www.w3.org/TR/css3-text/#hyphens
|
35
|
+
// * legal values for $type : auto, manual, none
|
36
|
+
//
|
37
|
+
// Example:
|
38
|
+
// p {
|
39
|
+
// @include hyphens(auto);}
|
40
|
+
// Which generates:
|
41
|
+
// p {
|
42
|
+
// -moz-hyphens: auto;
|
43
|
+
// -webkit-hyphens: auto;
|
44
|
+
// hyphens: auto;}
|
45
|
+
//
|
46
|
+
@mixin hyphens($value: auto){
|
47
|
+
@include prefixed-properties(css-hyphens, $hyphens-support-threshold, (
|
48
|
+
hyphens: $value
|
49
|
+
));
|
50
|
+
}
|
51
|
+
|
52
|
+
// Mixin for x-browser hyphenation based on @auchenberg's post:
|
53
|
+
// Removes the need for the <wbr/> HTML tag
|
54
|
+
// http://blog.kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/
|
55
|
+
//
|
56
|
+
// Example:
|
57
|
+
// div {@include hyphenation;}
|
58
|
+
//
|
59
|
+
// Which generates:
|
60
|
+
// div {
|
61
|
+
// -ms-word-break: break-all;
|
62
|
+
// word-break: break-all;
|
63
|
+
// word-break: break-word;
|
64
|
+
// -moz-hyphens: auto;
|
65
|
+
// -webkit-hyphens: auto;
|
66
|
+
// hyphens: auto;}
|
67
|
+
//
|
68
|
+
@mixin hyphenation {
|
69
|
+
@include word-break(break-all);
|
70
|
+
@include hyphens;
|
71
|
+
}
|
@@ -0,0 +1,152 @@
|
|
1
|
+
@import "compass/support";
|
2
|
+
@import "compass/utilities/general/hacks";
|
3
|
+
|
4
|
+
$gradient-support-threshold: $graceful-usage-threshold !default;
|
5
|
+
$svg-gradient-shim-threshold: $graceful-usage-threshold !default;
|
6
|
+
$border-image-support-threshold: $graceful-usage-threshold !default;
|
7
|
+
$owg-threshold: $graceful-usage-threshold !default;
|
8
|
+
|
9
|
+
// Compass assumes you will use the official gradient syntax,
|
10
|
+
// unless otherwise instructed.
|
11
|
+
$use-legacy-gradient-syntax: false !default;
|
12
|
+
|
13
|
+
// Create a linear gradient using standard official or legacy syntax.
|
14
|
+
// This function must be included in one of the following
|
15
|
+
// image module mixins to work properly.
|
16
|
+
@function linear-gradient($angle, $details...) {
|
17
|
+
$legacy-syntax: $use-legacy-gradient-syntax;
|
18
|
+
|
19
|
+
@if type-of($angle) != 'number' {
|
20
|
+
$angle: compact($angle);
|
21
|
+
$legacy-syntax: if(index($angle, 'to'), false, true);
|
22
|
+
}
|
23
|
+
|
24
|
+
@if $legacy-syntax {
|
25
|
+
@return _linear-gradient_legacy($angle, $details...);
|
26
|
+
} @else {
|
27
|
+
@return _linear-gradient($angle, $details...);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
// These browsers support svg but not gradients
|
32
|
+
// so we can shim the gradient with an inline svg file.
|
33
|
+
$browsers-supporting-svg-but-not-gradients: (ie: "9", opera: "9.5-9.6");
|
34
|
+
|
35
|
+
// These browsers require the old webkit gradient syntax
|
36
|
+
$browsers-supporting-old-webkit-gradients: (android: ("2.1", "3"));
|
37
|
+
|
38
|
+
@mixin each-gradient-prefix($values) {
|
39
|
+
@if prefixed(-svg, $values) {
|
40
|
+
@include for-legacy-browsers($browsers-supporting-svg-but-not-gradients,
|
41
|
+
$svg-gradient-shim-threshold)
|
42
|
+
{
|
43
|
+
@include with-prefix(-svg) {
|
44
|
+
@content;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
@if prefixed(-owg, $values) {
|
49
|
+
@include for-legacy-browsers($browsers-supporting-old-webkit-gradients,
|
50
|
+
$owg-threshold)
|
51
|
+
{
|
52
|
+
@include with-prefix(-owg) {
|
53
|
+
@content;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
@include with-each-prefix(css-gradients, $gradient-support-threshold) {
|
58
|
+
@if $current-prefix {
|
59
|
+
@if prefixed($current-prefix, $values) {
|
60
|
+
@content;
|
61
|
+
} @else if $debug-browser-support {
|
62
|
+
/* There is not a value that needs to be prefixed with #{$current-prefix} in: #{$values} */
|
63
|
+
}
|
64
|
+
} @else {
|
65
|
+
@content;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
@mixin image-property($property, $values...) {
|
71
|
+
@include each-gradient-prefix($values) {
|
72
|
+
@if $current-prefix {
|
73
|
+
#{$property}: prefix($current-prefix, $values);
|
74
|
+
} @else {
|
75
|
+
#{$property}: $values;
|
76
|
+
}
|
77
|
+
@content;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
// Background property support for vendor prefixing within values.
|
82
|
+
@mixin background($backgrounds...) {
|
83
|
+
@include image-property(background, $backgrounds...);
|
84
|
+
}
|
85
|
+
|
86
|
+
// Set any number of background layers, along with a fallback.
|
87
|
+
// The final argument will be output separately, first, as a css2 fallback.
|
88
|
+
@mixin background-with-css2-fallback($backgrounds...) {
|
89
|
+
@if length($backgrounds) > 1 or prefixed(-css2, $backgrounds) {
|
90
|
+
background: -css2(nth($backgrounds, -1));
|
91
|
+
}
|
92
|
+
@include background($backgrounds...);
|
93
|
+
}
|
94
|
+
|
95
|
+
|
96
|
+
// Background image property support for vendor prefixing within values.
|
97
|
+
@mixin background-image($images...) {
|
98
|
+
@include image-property(background-image, $images...) {
|
99
|
+
@if $current-prefix == -svg {
|
100
|
+
background-size: 100%;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
// Emit a IE-Specific filters that renders a simple linear gradient.
|
106
|
+
// For use in IE 6 - 8. Best practice would have you apply this via a
|
107
|
+
// conditional IE stylesheet, but if you must, you should place this before
|
108
|
+
// any background-image properties that you have specified.
|
109
|
+
//
|
110
|
+
// For the `$orientation` parameter, you can pass `vertical` or `horizontal`.
|
111
|
+
@mixin filter-gradient(
|
112
|
+
$start-color,
|
113
|
+
$end-color,
|
114
|
+
$orientation: vertical
|
115
|
+
) {
|
116
|
+
@include for-legacy-browsers((ie: "8"), $gradient-support-threshold) {
|
117
|
+
@include has-layout;
|
118
|
+
$gradient-type: if($orientation == vertical, 0, 1);
|
119
|
+
filter: progid:DXImageTransform.Microsoft.gradient(gradientType=#{$gradient-type}, startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}');
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
// Border image property support for vendor prefixing properties and values.
|
125
|
+
@mixin border-image($value) {
|
126
|
+
@include with-each-prefix(border-image, $border-image-support-threshold) {
|
127
|
+
$border-prefix: $current-prefix;
|
128
|
+
@include each-gradient-prefix($value) {
|
129
|
+
@if $current-prefix and prefixed($current-prefix, $value) {
|
130
|
+
$legacy-value: reject($value, fill);
|
131
|
+
@include prefix-prop(border-image, prefix($current-prefix, $legacy-value), $prefix: $border-prefix);
|
132
|
+
} @else {
|
133
|
+
@include prefix-prop(border-image, $value, $prefix: $border-prefix);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
// List style image property support for vendor prefixing within values.
|
140
|
+
@mixin list-style-image($image) {
|
141
|
+
@include image-property(list-style-image, $image);
|
142
|
+
}
|
143
|
+
|
144
|
+
// List style property support for vendor prefixing within values.
|
145
|
+
@mixin list-style($value) {
|
146
|
+
@include image-property(list-style, $value);
|
147
|
+
}
|
148
|
+
|
149
|
+
// content property support for vendor prefixing within values.
|
150
|
+
@mixin content($value) {
|
151
|
+
@include image-property(content, $value);
|
152
|
+
}
|