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.
Files changed (147) 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/browser_support.rb +64 -0
  7. data/lib/compass/configuration/adapters.rb +109 -0
  8. data/lib/compass/configuration/data.rb +199 -0
  9. data/lib/compass/configuration/defaults.rb +207 -0
  10. data/lib/compass/configuration/inheritance.rb +307 -0
  11. data/lib/compass/configuration/paths.rb +19 -0
  12. data/lib/compass/configuration/watch.rb +38 -0
  13. data/lib/compass/configuration.rb +175 -0
  14. data/lib/compass/core/caniuse.rb +314 -0
  15. data/lib/compass/core/generated_version.rb +6 -0
  16. data/lib/compass/core/sass_extensions/functions/colors.rb +67 -0
  17. data/lib/compass/core/sass_extensions/functions/configuration.rb +173 -0
  18. data/lib/compass/core/sass_extensions/functions/constants.rb +56 -0
  19. data/lib/compass/core/sass_extensions/functions/cross_browser_support.rb +270 -0
  20. data/lib/compass/core/sass_extensions/functions/display.rb +32 -0
  21. data/lib/compass/core/sass_extensions/functions/enumerate.rb +7 -0
  22. data/lib/compass/core/sass_extensions/functions/env.rb +72 -0
  23. data/lib/compass/core/sass_extensions/functions/files.rb +33 -0
  24. data/lib/compass/core/sass_extensions/functions/font_files.rb +65 -0
  25. data/lib/compass/core/sass_extensions/functions/gradient_support.rb +859 -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 +63 -0
  28. data/lib/compass/core/sass_extensions/functions/lists.rb +102 -0
  29. data/lib/compass/core/sass_extensions/functions/math.rb +105 -0
  30. data/lib/compass/core/sass_extensions/functions/selectors.rb +79 -0
  31. data/lib/compass/core/sass_extensions/functions/urls.rb +315 -0
  32. data/lib/compass/core/sass_extensions/functions.rb +41 -0
  33. data/lib/compass/core/sass_extensions/monkey_patches/browser_support.rb +119 -0
  34. data/lib/compass/core/sass_extensions/monkey_patches/traversal.rb +23 -0
  35. data/lib/compass/core/sass_extensions/monkey_patches.rb +3 -0
  36. data/lib/compass/core/sass_extensions.rb +10 -0
  37. data/lib/compass/core/version.rb +13 -0
  38. data/lib/compass/core.rb +78 -0
  39. data/lib/compass/error.rb +5 -0
  40. data/lib/compass/frameworks.rb +181 -0
  41. data/lib/compass/util.rb +19 -0
  42. data/lib/compass-core.rb +1 -0
  43. data/stylesheets/_compass.scss +3 -0
  44. data/stylesheets/_lemonade.scss +38 -0
  45. data/stylesheets/compass/_configuration.scss +54 -0
  46. data/stylesheets/compass/_css3.scss +21 -0
  47. data/stylesheets/compass/_layout.scss +3 -0
  48. data/stylesheets/compass/_reset-legacy.scss +3 -0
  49. data/stylesheets/compass/_reset.scss +3 -0
  50. data/stylesheets/compass/_support.scss +447 -0
  51. data/stylesheets/compass/_typography.scss +4 -0
  52. data/stylesheets/compass/_utilities.scss +9 -0
  53. data/stylesheets/compass/css3/_animation.scss +122 -0
  54. data/stylesheets/compass/css3/_appearance.scss +17 -0
  55. data/stylesheets/compass/css3/_background-clip.scss +35 -0
  56. data/stylesheets/compass/css3/_background-origin.scss +37 -0
  57. data/stylesheets/compass/css3/_background-size.scss +19 -0
  58. data/stylesheets/compass/css3/_border-radius.scss +107 -0
  59. data/stylesheets/compass/css3/_box-shadow.scss +88 -0
  60. data/stylesheets/compass/css3/_box-sizing.scss +21 -0
  61. data/stylesheets/compass/css3/_box.scss +85 -0
  62. data/stylesheets/compass/css3/_columns.scss +212 -0
  63. data/stylesheets/compass/css3/_deprecated-support.scss +272 -0
  64. data/stylesheets/compass/css3/_filter.scss +50 -0
  65. data/stylesheets/compass/css3/_flexbox.scss +156 -0
  66. data/stylesheets/compass/css3/_font-face.scss +48 -0
  67. data/stylesheets/compass/css3/_hyphenation.scss +71 -0
  68. data/stylesheets/compass/css3/_images.scss +152 -0
  69. data/stylesheets/compass/css3/_inline-block.scss +31 -0
  70. data/stylesheets/compass/css3/_opacity.scss +27 -0
  71. data/stylesheets/compass/css3/_pie.scss +1 -0
  72. data/stylesheets/compass/css3/_regions.scss +27 -0
  73. data/stylesheets/compass/css3/_selection.scss +59 -0
  74. data/stylesheets/compass/css3/_shared.scss +5 -0
  75. data/stylesheets/compass/css3/_text-shadow.scss +82 -0
  76. data/stylesheets/compass/css3/_transform.scss +590 -0
  77. data/stylesheets/compass/css3/_transition.scss +190 -0
  78. data/stylesheets/compass/css3/_user-interface.scss +71 -0
  79. data/stylesheets/compass/layout/_grid-background.scss +178 -0
  80. data/stylesheets/compass/layout/_sticky-footer.scss +23 -0
  81. data/stylesheets/compass/layout/_stretching.scss +24 -0
  82. data/stylesheets/compass/reset/_utilities-legacy.scss +135 -0
  83. data/stylesheets/compass/reset/_utilities.scss +142 -0
  84. data/stylesheets/compass/typography/_links.scss +3 -0
  85. data/stylesheets/compass/typography/_lists.scss +4 -0
  86. data/stylesheets/compass/typography/_text.scss +4 -0
  87. data/stylesheets/compass/typography/_units.scss +183 -0
  88. data/stylesheets/compass/typography/_vertical_rhythm.scss +300 -0
  89. data/stylesheets/compass/typography/links/_hover-link.scss +5 -0
  90. data/stylesheets/compass/typography/links/_link-colors.scss +28 -0
  91. data/stylesheets/compass/typography/links/_unstyled-link.scss +7 -0
  92. data/stylesheets/compass/typography/lists/_bullets.scss +34 -0
  93. data/stylesheets/compass/typography/lists/_horizontal-list.scss +63 -0
  94. data/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -0
  95. data/stylesheets/compass/typography/lists/_inline-list.scss +47 -0
  96. data/stylesheets/compass/typography/text/_ellipsis.scss +25 -0
  97. data/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
  98. data/stylesheets/compass/typography/text/_nowrap.scss +2 -0
  99. data/stylesheets/compass/typography/text/_replacement.scss +74 -0
  100. data/stylesheets/compass/utilities/_color.scss +1 -0
  101. data/stylesheets/compass/utilities/_general.scss +6 -0
  102. data/stylesheets/compass/utilities/_links.scss +5 -0
  103. data/stylesheets/compass/utilities/_lists.scss +6 -0
  104. data/stylesheets/compass/utilities/_print.scss +17 -0
  105. data/stylesheets/compass/utilities/_sass.scss +2 -0
  106. data/stylesheets/compass/utilities/_sprites.scss +2 -0
  107. data/stylesheets/compass/utilities/_tables.scss +3 -0
  108. data/stylesheets/compass/utilities/_text.scss +5 -0
  109. data/stylesheets/compass/utilities/color/_brightness.scss +20 -0
  110. data/stylesheets/compass/utilities/color/_contrast.scss +52 -0
  111. data/stylesheets/compass/utilities/general/_clearfix.scss +44 -0
  112. data/stylesheets/compass/utilities/general/_float.scss +38 -0
  113. data/stylesheets/compass/utilities/general/_hacks.scss +65 -0
  114. data/stylesheets/compass/utilities/general/_min.scss +16 -0
  115. data/stylesheets/compass/utilities/general/_reset.scss +2 -0
  116. data/stylesheets/compass/utilities/general/_tabs.scss +1 -0
  117. data/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
  118. data/stylesheets/compass/utilities/links/_hover-link.scss +3 -0
  119. data/stylesheets/compass/utilities/links/_link-colors.scss +3 -0
  120. data/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -0
  121. data/stylesheets/compass/utilities/lists/_bullets.scss +3 -0
  122. data/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -0
  123. data/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -0
  124. data/stylesheets/compass/utilities/lists/_inline-list.scss +3 -0
  125. data/stylesheets/compass/utilities/sass/_lists.scss +16 -0
  126. data/stylesheets/compass/utilities/sass/_maps.scss +19 -0
  127. data/stylesheets/compass/utilities/sprites/_base.scss +92 -0
  128. data/stylesheets/compass/utilities/sprites/_sprite-img.scss +81 -0
  129. data/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -0
  130. data/stylesheets/compass/utilities/tables/_borders.scss +38 -0
  131. data/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
  132. data/stylesheets/compass/utilities/text/_ellipsis.scss +3 -0
  133. data/stylesheets/compass/utilities/text/_nowrap.scss +3 -0
  134. data/stylesheets/compass/utilities/text/_replacement.scss +3 -0
  135. data/templates/ellipsis/ellipsis.sass +9 -0
  136. data/templates/ellipsis/manifest.rb +27 -0
  137. data/templates/ellipsis/xml/ellipsis.xml +14 -0
  138. data/templates/extension/manifest.rb +26 -0
  139. data/templates/extension/stylesheets/main.sass +1 -0
  140. data/templates/extension/templates/project/manifest.rb +2 -0
  141. data/templates/extension/templates/project/screen.sass +2 -0
  142. data/templates/project/USAGE.markdown +32 -0
  143. data/templates/project/ie.sass +6 -0
  144. data/templates/project/manifest.rb +4 -0
  145. data/templates/project/print.sass +6 -0
  146. data/templates/project/screen.sass +7 -0
  147. 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
+ }