compass-core-sass37 1.1.0
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.
- 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/browser_support.rb +64 -0
- data/lib/compass/configuration/adapters.rb +109 -0
- data/lib/compass/configuration/data.rb +199 -0
- data/lib/compass/configuration/defaults.rb +207 -0
- data/lib/compass/configuration/inheritance.rb +307 -0
- data/lib/compass/configuration/paths.rb +19 -0
- data/lib/compass/configuration/watch.rb +38 -0
- data/lib/compass/configuration.rb +175 -0
- data/lib/compass/core/caniuse.rb +314 -0
- data/lib/compass/core/generated_version.rb +6 -0
- data/lib/compass/core/sass_extensions/functions/colors.rb +67 -0
- data/lib/compass/core/sass_extensions/functions/configuration.rb +173 -0
- data/lib/compass/core/sass_extensions/functions/constants.rb +56 -0
- data/lib/compass/core/sass_extensions/functions/cross_browser_support.rb +270 -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 +72 -0
- data/lib/compass/core/sass_extensions/functions/files.rb +33 -0
- data/lib/compass/core/sass_extensions/functions/font_files.rb +65 -0
- data/lib/compass/core/sass_extensions/functions/gradient_support.rb +859 -0
- data/lib/compass/core/sass_extensions/functions/image_size.rb +117 -0
- data/lib/compass/core/sass_extensions/functions/inline_image.rb +63 -0
- data/lib/compass/core/sass_extensions/functions/lists.rb +102 -0
- data/lib/compass/core/sass_extensions/functions/math.rb +105 -0
- data/lib/compass/core/sass_extensions/functions/selectors.rb +79 -0
- data/lib/compass/core/sass_extensions/functions/urls.rb +315 -0
- data/lib/compass/core/sass_extensions/functions.rb +41 -0
- data/lib/compass/core/sass_extensions/monkey_patches/browser_support.rb +119 -0
- data/lib/compass/core/sass_extensions/monkey_patches/traversal.rb +23 -0
- data/lib/compass/core/sass_extensions/monkey_patches.rb +3 -0
- data/lib/compass/core/sass_extensions.rb +10 -0
- data/lib/compass/core/version.rb +13 -0
- data/lib/compass/core.rb +78 -0
- data/lib/compass/error.rb +5 -0
- data/lib/compass/frameworks.rb +181 -0
- data/lib/compass/util.rb +19 -0
- data/lib/compass-core.rb +1 -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 +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 +257 -0
@@ -0,0 +1,272 @@
|
|
1
|
+
@import "compass/support";
|
2
|
+
|
3
|
+
// XXX Remove these
|
4
|
+
$experimental-support-for-mozilla: true !default;
|
5
|
+
$experimental-support-for-webkit: true !default;
|
6
|
+
$experimental-support-for-opera: true !default;
|
7
|
+
$experimental-support-for-microsoft: true !default;
|
8
|
+
$experimental-support-for-khtml: false !default;
|
9
|
+
$experimental-support-for-svg: false !default;
|
10
|
+
$legacy-support-for-ie6: true !default;
|
11
|
+
$legacy-support-for-ie7: true !default;
|
12
|
+
$legacy-support-for-ie8: true !default;
|
13
|
+
$legacy-support-for-mozilla: true !default;
|
14
|
+
$legacy-support-for-webkit: true !default;
|
15
|
+
|
16
|
+
// This mixin provides basic support for CSS3 properties and
|
17
|
+
// their corresponding experimental CSS2 properties when
|
18
|
+
// the implementations are identical except for the property
|
19
|
+
// prefix.
|
20
|
+
@mixin experimental($property, $value,
|
21
|
+
$moz : $experimental-support-for-mozilla,
|
22
|
+
$webkit : $experimental-support-for-webkit,
|
23
|
+
$o : $experimental-support-for-opera,
|
24
|
+
$ms : $experimental-support-for-microsoft,
|
25
|
+
$khtml : $experimental-support-for-khtml,
|
26
|
+
$official : true
|
27
|
+
) {
|
28
|
+
@if $webkit and $experimental-support-for-webkit { -webkit-#{$property} : $value; }
|
29
|
+
@if $khtml and $experimental-support-for-khtml { -khtml-#{$property} : $value; }
|
30
|
+
@if $moz and $experimental-support-for-mozilla { -moz-#{$property} : $value; }
|
31
|
+
@if $ms and $experimental-support-for-microsoft { -ms-#{$property} : $value; }
|
32
|
+
@if $o and $experimental-support-for-opera { -o-#{$property} : $value; }
|
33
|
+
@if $official { #{$property} : $value; }
|
34
|
+
}
|
35
|
+
|
36
|
+
// This mixin is a shortcut for applying only a single experimental value
|
37
|
+
@mixin experimental-only-for($property, $value,
|
38
|
+
$moz : false,
|
39
|
+
$webkit : false,
|
40
|
+
$o : false,
|
41
|
+
$ms : false,
|
42
|
+
$khtml : false,
|
43
|
+
$official : false
|
44
|
+
) {
|
45
|
+
@include experimental($property, $value, $moz, $webkit, $o, $ms, $khtml, $official);
|
46
|
+
}
|
47
|
+
|
48
|
+
// Same as experimental(), but for cases when the property is the same and the value is vendorized
|
49
|
+
@mixin experimental-value($property, $value,
|
50
|
+
$moz : $experimental-support-for-mozilla,
|
51
|
+
$webkit : $experimental-support-for-webkit,
|
52
|
+
$o : $experimental-support-for-opera,
|
53
|
+
$ms : $experimental-support-for-microsoft,
|
54
|
+
$khtml : $experimental-support-for-khtml,
|
55
|
+
$official : true
|
56
|
+
) {
|
57
|
+
@if $webkit and $experimental-support-for-webkit { #{$property} : -webkit-#{$value}; }
|
58
|
+
@if $khtml and $experimental-support-for-khtml { #{$property} : -khtml-#{$value}; }
|
59
|
+
@if $moz and $experimental-support-for-mozilla { #{$property} : -moz-#{$value}; }
|
60
|
+
@if $ms and $experimental-support-for-microsoft { #{$property} : -ms-#{$value}; }
|
61
|
+
@if $o and $experimental-support-for-opera { #{$property} : -o-#{$value}; }
|
62
|
+
@if $official { #{$property} : #{$value}; }
|
63
|
+
}
|
64
|
+
|
65
|
+
// @private
|
66
|
+
// Check a given support list for support of a particular browser
|
67
|
+
@function supported(
|
68
|
+
$prefix,
|
69
|
+
$support-list
|
70
|
+
) {
|
71
|
+
$keys: moz, webkit, o, ms, khtml, official;
|
72
|
+
$index: index($keys, $prefix);
|
73
|
+
|
74
|
+
@if $index {
|
75
|
+
@if $index == 6 and length($support-list) == 5 {
|
76
|
+
@return official;
|
77
|
+
} @else {
|
78
|
+
@return nth($support-list, $index);
|
79
|
+
}
|
80
|
+
} @else {
|
81
|
+
@warn 'Please pass a valid browser for $prefix: moz, webkit, o, ms, khtml, or official.';
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
// A debug tool for checking browser support
|
86
|
+
@mixin debug-support-matrix($experimental: true, $ie: true) {
|
87
|
+
@debug #{'$moz-'}$experimental-support-for-mozilla
|
88
|
+
#{'$webkit-'}$experimental-support-for-webkit
|
89
|
+
#{'$opera-'}$experimental-support-for-opera
|
90
|
+
#{'$microsoft-'}$experimental-support-for-microsoft
|
91
|
+
#{'$khtml-'}$experimental-support-for-khtml;
|
92
|
+
@debug #{'$ie6-'}$legacy-support-for-ie6
|
93
|
+
#{'$ie7-'}$legacy-support-for-ie7
|
94
|
+
#{'$ie8-'}$legacy-support-for-ie8;
|
95
|
+
}
|
96
|
+
|
97
|
+
// Capture the current exerimental support settings
|
98
|
+
@function capture-experimental-matrix() {
|
99
|
+
@return $experimental-support-for-mozilla
|
100
|
+
$experimental-support-for-webkit
|
101
|
+
$experimental-support-for-opera
|
102
|
+
$experimental-support-for-microsoft
|
103
|
+
$experimental-support-for-khtml;
|
104
|
+
}
|
105
|
+
|
106
|
+
// Capture the current legacy-ie support settings
|
107
|
+
@function capture-legacy-ie-matrix() {
|
108
|
+
@return $legacy-support-for-ie6
|
109
|
+
$legacy-support-for-ie7
|
110
|
+
$legacy-support-for-ie8;
|
111
|
+
}
|
112
|
+
|
113
|
+
// Capture and store support
|
114
|
+
$experimental-matrix: capture-experimental-matrix();
|
115
|
+
$legacy-ie-matrix: capture-legacy-ie-matrix();
|
116
|
+
|
117
|
+
@mixin capture-experimental-matrix {
|
118
|
+
$experimental-matrix: capture-experimental-matrix();
|
119
|
+
}
|
120
|
+
|
121
|
+
@mixin capture-legacy-ie-matrix {
|
122
|
+
$legacy-ie-matrix: capture-legacy-ie-matrix();
|
123
|
+
}
|
124
|
+
|
125
|
+
@mixin capture-support-matrix {
|
126
|
+
@include capture-experimental-matrix;
|
127
|
+
@include capture-legacy-ie-matrix;
|
128
|
+
}
|
129
|
+
|
130
|
+
// Change the experimental-support settings in specific contexts.
|
131
|
+
@mixin set-experimental-support(
|
132
|
+
$moz : false,
|
133
|
+
$webkit : false,
|
134
|
+
$o : false,
|
135
|
+
$ms : false,
|
136
|
+
$khtml : false
|
137
|
+
) {
|
138
|
+
$experimental-support-for-mozilla : $moz;
|
139
|
+
$experimental-support-for-webkit : $webkit;
|
140
|
+
$experimental-support-for-opera : $o;
|
141
|
+
$experimental-support-for-microsoft : $ms;
|
142
|
+
$experimental-support-for-khtml : $khtml;
|
143
|
+
}
|
144
|
+
|
145
|
+
@mixin capture-and-set-experimental(
|
146
|
+
$moz : false,
|
147
|
+
$webkit : false,
|
148
|
+
$o : false,
|
149
|
+
$ms : false,
|
150
|
+
$khtml : false
|
151
|
+
) {
|
152
|
+
@include capture-experimental-matrix;
|
153
|
+
@include set-experimental-support($moz, $webkit, $o, $ms, $khtml);
|
154
|
+
}
|
155
|
+
|
156
|
+
@mixin capture-and-adjust-experimental(
|
157
|
+
$moz : $experimental-support-for-mozilla,
|
158
|
+
$webkit : $experimental-support-for-webkit,
|
159
|
+
$o : $experimental-support-for-opera,
|
160
|
+
$ms : $experimental-support-for-microsoft,
|
161
|
+
$khtml : $experimental-support-for-khtml
|
162
|
+
) {
|
163
|
+
@include capture-experimental-matrix;
|
164
|
+
@include set-experimental-support($moz, $webkit, $o, $ms, $khtml);
|
165
|
+
}
|
166
|
+
|
167
|
+
// Change the legacy-support-for-ie* settings in specific contexts.
|
168
|
+
@mixin set-legacy-ie-support(
|
169
|
+
$ie6: false,
|
170
|
+
$ie7: false,
|
171
|
+
$ie8: false
|
172
|
+
) {
|
173
|
+
$legacy-support-for-ie6: $ie6;
|
174
|
+
$legacy-support-for-ie7: $ie7;
|
175
|
+
$legacy-support-for-ie8: $ie8;
|
176
|
+
}
|
177
|
+
|
178
|
+
@mixin capture-and-set-legacy-ie(
|
179
|
+
$ie6: false,
|
180
|
+
$ie7: false,
|
181
|
+
$ie8: false
|
182
|
+
) {
|
183
|
+
@include capture-legacy-ie-matrix;
|
184
|
+
@include set-legacy-ie-support($ie6, $ie7, $ie8);
|
185
|
+
}
|
186
|
+
|
187
|
+
@mixin capture-and-adjust-legacy-ie(
|
188
|
+
$ie6: $legacy-support-for-ie6,
|
189
|
+
$ie7: $legacy-support-for-ie7,
|
190
|
+
$ie8: $legacy-support-for-ie8
|
191
|
+
) {
|
192
|
+
@include capture-and-set-legacy-ie($ie6, $ie7, $ie8);
|
193
|
+
}
|
194
|
+
|
195
|
+
// Capture current browser support matrix, and set a new matrix of support.
|
196
|
+
@mixin capture-and-set-support(
|
197
|
+
$moz : false,
|
198
|
+
$webkit : false,
|
199
|
+
$o : false,
|
200
|
+
$ms : false,
|
201
|
+
$khtml : false,
|
202
|
+
$ie6 : false,
|
203
|
+
$ie7 : false,
|
204
|
+
$ie8 : false
|
205
|
+
) {
|
206
|
+
// Capture the current state
|
207
|
+
@include capture-support-matrix;
|
208
|
+
|
209
|
+
// Change support settings
|
210
|
+
@include set-experimental-support($moz, $webkit, $o, $ms, $khtml);
|
211
|
+
@include set-legacy-ie-support($ie6, $ie7, $ie8);
|
212
|
+
}
|
213
|
+
|
214
|
+
// Capture current browser support matrix, and set a new matrix of support.
|
215
|
+
@mixin capture-and-adjust-support(
|
216
|
+
$moz : $experimental-support-for-mozilla,
|
217
|
+
$webkit : $experimental-support-for-webkit,
|
218
|
+
$o : $experimental-support-for-opera,
|
219
|
+
$ms : $experimental-support-for-microsoft,
|
220
|
+
$khtml : $experimental-support-for-khtml,
|
221
|
+
$ie6 : $legacy-support-for-ie6,
|
222
|
+
$ie7 : $legacy-support-for-ie7,
|
223
|
+
$ie8 : $legacy-support-for-ie8
|
224
|
+
) {
|
225
|
+
@include capture-and-set-support($moz, $webkit, $o, $ms, $khtml, $ie6, $ie7, $ie8);
|
226
|
+
}
|
227
|
+
|
228
|
+
|
229
|
+
// This mixin allows you to change the experimental support settings for
|
230
|
+
// child (@content) styles.
|
231
|
+
@mixin with-only-support-for(
|
232
|
+
$moz : false,
|
233
|
+
$webkit : false,
|
234
|
+
$o : false,
|
235
|
+
$ms : false,
|
236
|
+
$khtml : false,
|
237
|
+
$ie6 : false,
|
238
|
+
$ie7 : false,
|
239
|
+
$ie8 : false
|
240
|
+
) {
|
241
|
+
// Capture current state
|
242
|
+
$wo-experimental-matrix : capture-experimental-matrix();
|
243
|
+
$wo-legacy-ie-matrix : capture-legacy-ie-matrix();
|
244
|
+
|
245
|
+
// Set new states
|
246
|
+
@include set-experimental-support($moz, $webkit, $o, $ms, $khtml);
|
247
|
+
@include set-legacy-ie-support($ie6, $ie7, $ie8);
|
248
|
+
|
249
|
+
// Apply styles
|
250
|
+
@content;
|
251
|
+
|
252
|
+
// Return to original support settings
|
253
|
+
@include set-experimental-support($wo-experimental-matrix...);
|
254
|
+
@include set-legacy-ie-support($wo-legacy-ie-matrix...);
|
255
|
+
}
|
256
|
+
|
257
|
+
// This mixin is a shortcut for making slight adjustments to browser support
|
258
|
+
// for child (@content) styles
|
259
|
+
@mixin adjust-support-for(
|
260
|
+
$moz : $experimental-support-for-mozilla,
|
261
|
+
$webkit : $experimental-support-for-webkit,
|
262
|
+
$o : $experimental-support-for-opera,
|
263
|
+
$ms : $experimental-support-for-microsoft,
|
264
|
+
$khtml : $experimental-support-for-khtml,
|
265
|
+
$ie6 : $legacy-support-for-ie6,
|
266
|
+
$ie7 : $legacy-support-for-ie7,
|
267
|
+
$ie8 : $legacy-support-for-ie8
|
268
|
+
) {
|
269
|
+
@include with-only-support-for($moz, $webkit, $o, $ms, $khtml, $ie6, $ie7, $ie8) {
|
270
|
+
@content;
|
271
|
+
}
|
272
|
+
}
|
@@ -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
|
+
}
|