compass 0.12.7 → 0.13.alpha.4

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 (254) hide show
  1. data/README.markdown +1 -1
  2. data/Rakefile +14 -9
  3. data/VERSION.yml +6 -0
  4. data/features/command_line.feature +8 -50
  5. data/features/step_definitions/command_line_steps.rb +3 -2
  6. data/frameworks/compass/stylesheets/compass/_css3.scss +2 -0
  7. data/frameworks/compass/stylesheets/compass/_support.scss +4 -4
  8. data/frameworks/compass/stylesheets/compass/css3/_animation.scss +121 -0
  9. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +10 -6
  10. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +32 -36
  11. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +32 -35
  12. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +12 -15
  13. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +27 -48
  14. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +22 -35
  15. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +12 -8
  16. data/frameworks/compass/stylesheets/compass/css3/_box.scss +57 -82
  17. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +104 -71
  18. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +38 -18
  19. data/frameworks/compass/stylesheets/compass/css3/_flexbox.scss +294 -0
  20. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +4 -4
  21. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +13 -22
  22. data/frameworks/compass/stylesheets/compass/css3/_images.scss +45 -48
  23. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +1 -1
  24. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +12 -8
  25. data/frameworks/compass/stylesheets/compass/css3/_selection.scss +31 -0
  26. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +226 -2
  27. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +21 -26
  28. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +3 -3
  29. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +8 -8
  30. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +3 -3
  31. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +43 -4
  32. data/frameworks/compass/stylesheets/compass/typography/_units.scss +152 -0
  33. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +180 -102
  34. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +5 -3
  35. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +6 -3
  36. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +1 -1
  37. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +7 -3
  38. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +2 -2
  39. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +32 -13
  40. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +14 -9
  41. data/lib/compass/actions.rb +3 -1
  42. data/lib/compass/commands/update_project.rb +1 -2
  43. data/lib/compass/commands/watch_project.rb +11 -113
  44. data/lib/compass/commands.rb +1 -1
  45. data/lib/compass/compiler.rb +8 -1
  46. data/lib/compass/configuration/data.rb +1 -1
  47. data/lib/compass/configuration/helpers.rb +2 -0
  48. data/lib/compass/exec/project_options_parser.rb +8 -0
  49. data/lib/compass/logger.rb +2 -0
  50. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +1 -1
  51. data/lib/compass/sass_extensions/functions/env.rb +18 -0
  52. data/lib/compass/sass_extensions/functions/gradient_support.rb +101 -29
  53. data/lib/compass/sass_extensions/functions/image_size.rb +2 -1
  54. data/lib/compass/sass_extensions/functions/math.rb +13 -1
  55. data/lib/compass/sass_extensions/functions/sprites.rb +82 -22
  56. data/lib/compass/sass_extensions/functions/urls.rb +37 -6
  57. data/lib/compass/sass_extensions/functions/utility.rb +10 -0
  58. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +11 -9
  59. data/lib/compass/sass_extensions/sprites/image.rb +7 -2
  60. data/lib/compass/sass_extensions/sprites/image_methods.rb +5 -1
  61. data/lib/compass/sass_extensions/sprites/images.rb +29 -0
  62. data/lib/compass/sass_extensions/sprites/layout/diagonal.rb +42 -0
  63. data/lib/compass/sass_extensions/sprites/layout/horizontal.rb +66 -0
  64. data/lib/compass/sass_extensions/sprites/layout/smart.rb +33 -0
  65. data/lib/compass/sass_extensions/sprites/layout/vertical.rb +68 -0
  66. data/lib/compass/sass_extensions/sprites/layout.rb +39 -0
  67. data/lib/compass/sass_extensions/sprites/layout_methods.rb +9 -115
  68. data/lib/compass/sass_extensions/sprites/sprite_map.rb +5 -1
  69. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +8 -14
  70. data/lib/compass/sass_extensions/sprites.rb +2 -0
  71. data/lib/compass/sprite_importer/content.erb +29 -24
  72. data/lib/compass/sprite_importer.rb +7 -11
  73. data/lib/compass/version.rb +10 -13
  74. data/lib/compass/watcher/compiler.rb +59 -0
  75. data/lib/compass/watcher/project_watcher.rb +111 -0
  76. data/lib/compass/watcher/watch.rb +33 -0
  77. data/lib/compass/watcher.rb +11 -0
  78. data/lib/compass.rb +2 -2
  79. data/test/fixtures/sprites/public/images/numeric/200.png +0 -0
  80. data/test/fixtures/stylesheets/busted_font_urls/config.rb +32 -0
  81. data/test/fixtures/stylesheets/busted_font_urls/css/screen.css +7 -0
  82. data/test/fixtures/stylesheets/busted_font_urls/fonts/feed.ttf +0 -0
  83. data/test/fixtures/stylesheets/busted_font_urls/fonts/grid.ttf +0 -0
  84. data/test/fixtures/stylesheets/busted_font_urls/fonts/sub/dk.ttf +0 -0
  85. data/test/fixtures/stylesheets/busted_font_urls/sass/screen.sass +11 -0
  86. data/test/fixtures/stylesheets/busted_font_urls/tmp/screen.css +7 -0
  87. data/test/fixtures/stylesheets/busted_image_urls/tmp/screen.css +9 -0
  88. data/test/fixtures/stylesheets/compass/css/animation-with-legacy-ie.css +33 -0
  89. data/test/fixtures/stylesheets/compass/css/animation.css +33 -0
  90. data/test/fixtures/stylesheets/compass/css/background-clip.css +5 -0
  91. data/test/fixtures/stylesheets/compass/css/background-origin.css +15 -0
  92. data/test/fixtures/stylesheets/compass/css/background-size.css +24 -0
  93. data/test/fixtures/stylesheets/compass/css/columns.css +27 -63
  94. data/test/fixtures/stylesheets/compass/css/flexbox.css +121 -0
  95. data/test/fixtures/stylesheets/compass/css/fonts.css +1 -1
  96. data/test/fixtures/stylesheets/compass/css/gradients.css +64 -36
  97. data/test/fixtures/stylesheets/compass/css/grid_background.css +7 -14
  98. data/test/fixtures/stylesheets/compass/css/hyphenation.css +4 -2
  99. data/test/fixtures/stylesheets/compass/css/lists.css +5 -5
  100. data/test/fixtures/stylesheets/compass/css/pie.css +0 -3
  101. data/test/fixtures/stylesheets/compass/css/regions.css +4 -2
  102. data/test/fixtures/stylesheets/compass/css/selection.css +13 -0
  103. data/test/fixtures/stylesheets/compass/css/sprites.css +251 -250
  104. data/test/fixtures/stylesheets/compass/css/text_shadow.css +6 -6
  105. data/test/fixtures/stylesheets/compass/css/transition.css +6 -0
  106. data/test/fixtures/stylesheets/compass/css/units.css +30 -0
  107. data/test/fixtures/stylesheets/compass/css/user-interface.css +22 -1
  108. data/test/fixtures/stylesheets/compass/css/utilities.css +15 -0
  109. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +177 -8
  110. data/test/fixtures/stylesheets/compass/images/flag-s5b4f509715.png +0 -0
  111. data/test/fixtures/stylesheets/compass/sass/animation-with-legacy-ie.scss +19 -0
  112. data/test/fixtures/stylesheets/compass/sass/animation.scss +13 -0
  113. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +4 -2
  114. data/test/fixtures/stylesheets/compass/sass/background-origin.scss +10 -0
  115. data/test/fixtures/stylesheets/compass/sass/background-size.scss +12 -0
  116. data/test/fixtures/stylesheets/compass/sass/columns.scss +9 -9
  117. data/test/fixtures/stylesheets/compass/sass/flexbox.scss +44 -0
  118. data/test/fixtures/stylesheets/compass/sass/gradients.sass +31 -0
  119. data/test/fixtures/stylesheets/compass/sass/selection.scss +13 -0
  120. data/test/fixtures/stylesheets/compass/sass/transition.scss +1 -1
  121. data/test/fixtures/stylesheets/compass/sass/units.scss +45 -0
  122. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +13 -1
  123. data/test/fixtures/stylesheets/compass/sass/utilities.scss +10 -0
  124. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +208 -7
  125. data/test/fixtures/stylesheets/envtest/css/env.css +8 -0
  126. data/test/fixtures/stylesheets/envtest/sass/env.scss +16 -0
  127. data/test/fixtures/stylesheets/envtest/tmp/env.css +14 -0
  128. data/test/fixtures/stylesheets/valid/css/simple.css +4 -0
  129. data/test/helpers/diff.rb +1 -1
  130. data/test/integrations/compass_test.rb +23 -14
  131. data/test/integrations/sprites_test.rb +305 -63
  132. data/test/test_helper.rb +5 -15
  133. data/test/units/command_line_test.rb +0 -2
  134. data/test/units/compass_module_test.rb +1 -1
  135. data/test/units/configuration_test.rb +12 -0
  136. data/test/units/regressions_test.rb +8 -8
  137. data/test/units/sass_extensions_test.rb +2 -0
  138. data/test/units/sass_extenstions/gradients_test.rb +33 -0
  139. data/test/units/sprites/image_test.rb +5 -0
  140. data/test/units/sprites/images_test.rb +46 -0
  141. data/test/units/sprites/layout_test.rb +29 -4
  142. data/test/units/watcher/compiler_test.rb +39 -0
  143. data/test/units/watcher/project_watcher_test.rb +73 -0
  144. data/test/units/watcher/watch_test.rb +42 -0
  145. metadata +171 -236
  146. checksums.yaml +0 -7
  147. data/frameworks/blueprint/stylesheets/_blueprint.scss +0 -37
  148. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +0 -101
  149. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +0 -36
  150. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +0 -28
  151. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +0 -88
  152. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +0 -66
  153. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +0 -258
  154. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +0 -111
  155. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +0 -66
  156. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +0 -37
  157. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +0 -152
  158. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +0 -86
  159. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +0 -3
  160. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +0 -121
  161. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +0 -52
  162. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +0 -90
  163. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +0 -37
  164. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +0 -83
  165. data/frameworks/blueprint/templates/basic/grid.png +0 -0
  166. data/frameworks/blueprint/templates/basic/ie.sass +0 -4
  167. data/frameworks/blueprint/templates/basic/manifest.rb +0 -30
  168. data/frameworks/blueprint/templates/basic/partials/_base.sass +0 -10
  169. data/frameworks/blueprint/templates/basic/print.sass +0 -4
  170. data/frameworks/blueprint/templates/basic/screen.sass +0 -12
  171. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  172. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  173. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  174. data/frameworks/blueprint/templates/buttons/buttons.sass +0 -49
  175. data/frameworks/blueprint/templates/buttons/manifest.rb +0 -17
  176. data/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  177. data/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
  178. data/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
  179. data/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  180. data/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
  181. data/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  182. data/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  183. data/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  184. data/frameworks/blueprint/templates/link_icons/link_icons.sass +0 -13
  185. data/frameworks/blueprint/templates/link_icons/manifest.rb +0 -23
  186. data/frameworks/blueprint/templates/project/grid.png +0 -0
  187. data/frameworks/blueprint/templates/project/ie.sass +0 -16
  188. data/frameworks/blueprint/templates/project/manifest.rb +0 -30
  189. data/frameworks/blueprint/templates/project/partials/_base.sass +0 -11
  190. data/frameworks/blueprint/templates/project/print.sass +0 -8
  191. data/frameworks/blueprint/templates/project/screen.sass +0 -46
  192. data/frameworks/blueprint/templates/semantic/grid.png +0 -0
  193. data/frameworks/blueprint/templates/semantic/ie.sass +0 -16
  194. data/frameworks/blueprint/templates/semantic/manifest.rb +0 -33
  195. data/frameworks/blueprint/templates/semantic/partials/_base.sass +0 -10
  196. data/frameworks/blueprint/templates/semantic/partials/_form.sass +0 -6
  197. data/frameworks/blueprint/templates/semantic/partials/_page.sass +0 -17
  198. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +0 -38
  199. data/frameworks/blueprint/templates/semantic/print.sass +0 -5
  200. data/frameworks/blueprint/templates/semantic/screen.sass +0 -14
  201. data/lib/compass/commands/generate_grid_background.rb +0 -96
  202. data/lib/compass/grid_builder.rb +0 -102
  203. data/test/fixtures/stylesheets/blueprint/config.rb +0 -14
  204. data/test/fixtures/stylesheets/blueprint/css/ie.css +0 -76
  205. data/test/fixtures/stylesheets/blueprint/css/print.css +0 -56
  206. data/test/fixtures/stylesheets/blueprint/css/screen.css +0 -815
  207. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +0 -56
  208. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +0 -80
  209. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +0 -11
  210. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +0 -30
  211. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +0 -42
  212. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +0 -435
  213. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +0 -76
  214. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +0 -46
  215. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +0 -40
  216. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +0 -651
  217. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +0 -60
  218. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +0 -75
  219. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +0 -42
  220. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +0 -437
  221. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +0 -45
  222. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +0 -146
  223. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +0 -35
  224. data/test/fixtures/stylesheets/blueprint/images/grid.png +0 -0
  225. data/test/fixtures/stylesheets/blueprint/images/link_icons/doc.png +0 -0
  226. data/test/fixtures/stylesheets/blueprint/images/link_icons/email.png +0 -0
  227. data/test/fixtures/stylesheets/blueprint/images/link_icons/external.png +0 -0
  228. data/test/fixtures/stylesheets/blueprint/images/link_icons/feed.png +0 -0
  229. data/test/fixtures/stylesheets/blueprint/images/link_icons/im.png +0 -0
  230. data/test/fixtures/stylesheets/blueprint/images/link_icons/pdf.png +0 -0
  231. data/test/fixtures/stylesheets/blueprint/images/link_icons/visited.png +0 -0
  232. data/test/fixtures/stylesheets/blueprint/images/link_icons/xls.png +0 -0
  233. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +0 -3
  234. data/test/fixtures/stylesheets/blueprint/sass/print.sass +0 -3
  235. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +0 -18
  236. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +0 -4
  237. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +0 -34
  238. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +0 -3
  239. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +0 -3
  240. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +0 -5
  241. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +0 -3
  242. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +0 -3
  243. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +0 -3
  244. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +0 -13
  245. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +0 -3
  246. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +0 -5
  247. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +0 -5
  248. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +0 -1
  249. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +0 -3
  250. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +0 -5
  251. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +0 -3
  252. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +0 -3
  253. data/test/fixtures/stylesheets/compass/images/flag-s4798b5a210.png +0 -0
  254. data/test/units/compass_png_test.rb +0 -46
@@ -1,23 +1,43 @@
1
+ // Filter
2
+
1
3
  @import "shared";
2
4
 
5
+ // @private css3-feature-support variables must always include a list of five boolean values
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ $filter-support: -moz, -webkit, not -ms, not -o, not -khtml;
8
+
9
+
3
10
  // Provides cross-browser support for the upcoming (?) css3 filter property.
4
11
  //
5
- // Each filter argument should adhere to the standard css3 syntax for the
6
- // filter property.
7
- @mixin filter (
8
- $filter-1,
9
- $filter-2 : false,
10
- $filter-3 : false,
11
- $filter-4 : false,
12
- $filter-5 : false,
13
- $filter-6 : false,
14
- $filter-7 : false,
15
- $filter-8 : false,
16
- $filter-9 : false,
17
- $filter-10: false
18
- ) {
19
- $filter : compact($filter-1, $filter-2, $filter-3, $filter-4, $filter-5, $filter-6, $filter-7, $filter-8, $filter-9, $filter-10);
20
- @include experimental(filter, $filter,
21
- -moz, -webkit, not -o, not -ms, not -khtml, official
22
- );
12
+ // The filter argument should adhere to the standard css3 syntax
13
+ // for the filter property.
14
+ @mixin filter($filters) {
15
+ @include experimental(filter, $filters, $filter-support...);
16
+ }
17
+
18
+ // @private Apply filter-margins
19
+ @mixin apply-filter-margin($position, $width) {
20
+ @include experimental(filter-margin-#{$position}, $width, $filter-support...);
21
+ }
22
+
23
+ // filter-margin-top
24
+ @mixin filter-margin-top($width) { @include apply-filter-margin(top, $width); }
25
+
26
+ // filter-margin-right
27
+ @mixin filter-margin-right($width) { @include apply-filter-margin(right, $width); }
28
+
29
+ // filter-margin-bottom
30
+ @mixin filter-margin-bottom($width) { @include apply-filter-margin(bottom, $width); }
31
+
32
+ // filter-margin-left
33
+ @mixin filter-margin-left($width) { @include apply-filter-margin(left, $width); }
34
+
35
+ // filter-margin
36
+ @mixin filter-margin($widths) {
37
+ @include experimental(filter-margin, $widths, $filter-support...);
23
38
  }
39
+
40
+ // color-interpolation-filters (auto | sRGB | linearRGB )
41
+ @mixin color-interpolation-filters($value) {
42
+ @include experimental(color-interpolation-filters, $value, $filter-support...);
43
+ }
@@ -0,0 +1,294 @@
1
+ @import "shared";
2
+
3
+ // NOTE:
4
+ // All mixins for the @box spec have been written assuming they'll be fed property values that
5
+ // correspond to the standard spec. Some mixins can be fed values from the @box spec, but don't
6
+ // rely on it. The `legacy-order` mixin will increment the value fed to it because the @box
7
+ // `box-ordinal-group` property begins indexing at 1, while the modern `order` property begins
8
+ // indexing at 0.
9
+
10
+ // ---------------------------------------------------------------------- | @flex
11
+
12
+ // September 2012 Candidate Recommendation (http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/)
13
+ // NOTE: FF did not support wrapping until version ??. Because the `display: flex` property
14
+ // is wrapped in a `@supports (flex-wrap: wrap)` block (when $flex-wrap-required or the $wrap
15
+ // argument to the `display-flex` mixin is set to `true`), it will Just Work(TM) when support is
16
+ // finally added
17
+ // Chrome 21 (prefixed)
18
+ // Opera 12.1 (unprefixed)
19
+ // Firefox 20 (unprefixed)
20
+ $flex-support: not -moz, -webkit, not -ms, not -o, not -khtml !default;
21
+
22
+ // if `true`, `$flex-legacy-enabled` is treated as false and an `@supports` block is added to
23
+ // the display property to hide the standard value from versions of Firefox that support the
24
+ // unprefixed properties, but do not support wrapping
25
+ // (this includes suppressing the automatic emittion of @box properties)
26
+ $flex-wrap-required : false !default;
27
+
28
+ // ---------------------------------------------------------------------- | @flexbox
29
+
30
+ // March 2012 Working Draft (http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/)
31
+ // Chrome 17 (prefixed)
32
+ // Internet Explorer 10 (prefixed)
33
+ $flexbox-support: not -moz, -webkit, -ms, not -o, not -khtml, not standard !default;
34
+
35
+ // ---------------------------------------------------------------------- | @box
36
+
37
+ // July 2009 Working Draft (http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/)
38
+ // NOTE: no browser that implements this spec is known to support `box-lines: multiple`
39
+ // Chrome 4? (prefixed)
40
+ // Safari 3.1 (prefixed)
41
+ // Firefox <20 (prefixed)
42
+ $box-support: -moz, -webkit, not -ms, not -o, not -khtml, not standard !default;
43
+
44
+ // If `true`, the @box properties will be emitted as part of the normal mixin call
45
+ // (if this is false, you're still free to explicitly call the legacy mixins yourself)
46
+ $flex-legacy-enabled: false !default;
47
+
48
+ // ====================================================================================================
49
+ // | Common
50
+ // ====================================================================================================
51
+
52
+ // function for converting a value from the standard specification to one that is comparable from
53
+ // an older specification
54
+ @function flex-translate-value($value, $version: box) {
55
+ $value: unquote($value);
56
+
57
+ @if $value == flex {
58
+ @return if($version == box, box, flexbox);
59
+ } @else if $value == inline-flex {
60
+ @return if($version == box, inline-box, inline-flexbox);
61
+ } @else if $value == flex-start {
62
+ @return start;
63
+ } @else if $value == flex-end {
64
+ @return end;
65
+ } @else if $value == space-between {
66
+ @return justify;
67
+ } @else if $value == space-around { // @box doesn't have a value equivalent to `space-around`
68
+ @return if($version == box, justify, distribute);
69
+ }
70
+ @return $value;
71
+ }
72
+
73
+ @function flex-support-either() {
74
+ $common: ();
75
+ @for $i from 1 through length($flex-support) {
76
+ $common: append($common, nth($flex-support, $i) or nth($flexbox-support, $i), comma);
77
+ }
78
+ @return $common;
79
+ }
80
+
81
+ // ====================================================================================================
82
+ // | Display Property
83
+ // ====================================================================================================
84
+
85
+ // $type: flex | inline-flex
86
+ @mixin display-flex($type: flex, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
87
+ @if $legacy and not $wrap {
88
+ @include legacy-display-flex($type);
89
+ }
90
+
91
+ @include experimental-value(display, flex-translate-value($type, flexbox), $flexbox-support...);
92
+
93
+ // if `$wrap` is true, then we need to suppress official support as generated by the `experimental()`
94
+ // mixin so that we can insert it inside an `@supports` block
95
+ $flex-support-standard: true;
96
+ $flex-support-list: $flex-support;
97
+ @if length($flex-support) > 5 {
98
+ $flex-support-standard: nth($flex-support, 6);
99
+ // a `slice()` function would really be handy here...
100
+ $flex-support-list: nth($flex-support, 1), nth($flex-support, 2), nth($flex-support, 3), nth($flex-support, 4), nth($flex-support, 5);
101
+ }
102
+ $flex-support-list: append($flex-support-list, if($wrap, false, $flex-support-standard));
103
+ @include experimental-value(display, $type, $flex-support-list...);
104
+
105
+ @if $wrap and $flex-support-standard {
106
+ @supports (flex-wrap: wrap) {
107
+ display: $type;
108
+ }
109
+ }
110
+ }
111
+
112
+ @mixin legacy-display-flex($type: flex) {
113
+ @include experimental-value(display, flex-translate-value($type, box), $box-support...);
114
+ }
115
+
116
+ // ====================================================================================================
117
+ // | Flex Container Properties
118
+ // ====================================================================================================
119
+
120
+ // $value: <'flex-direction'> || <'flex-wrap'>
121
+ @mixin flex-flow($value: row nowrap, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
122
+ @if $legacy and not $wrap {
123
+ @include legacy-flex-flow($value);
124
+ }
125
+
126
+ @include experimental(flex-flow, $value, flex-support-either()...);
127
+ }
128
+
129
+ @mixin legacy-flex-flow($value: row nowrap) {
130
+ @if length($value) > 1 { // @box version doesn't have a shorthand
131
+ @include legacy-flex-direction(nth($value, 1));
132
+ @include legacy-flex-wrap(nth($value, 2));
133
+ } @else {
134
+ $value: unquote($value);
135
+ @if $value == row or $value == row-reverse or $value == column or $value == column-reverse {
136
+ @include legacy-flex-direction($value);
137
+ } @else {
138
+ @include legacy-flex-wrap($value);
139
+ }
140
+ }
141
+ }
142
+
143
+ // ----------------------------------------------------------------------
144
+
145
+ // $value: row | row-reverse | column | column-reverse
146
+ @mixin flex-direction($value: row, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
147
+ @if $legacy and not $wrap {
148
+ @include legacy-flex-direction($value);
149
+ }
150
+
151
+ @include experimental(flex-direction, $value, flex-support-either()...);
152
+ }
153
+
154
+ @mixin legacy-flex-direction($value: row) {
155
+ $value: unquote($value);
156
+ @include experimental(box-orient, if($value == row or $value == row-reverse, horizontal, vertical), $box-support...);
157
+ @include experimental(box-direction, if($value == row-reverse or $value == column-reverse, reverse, normal), $box-support...);
158
+ }
159
+
160
+ // ----------------------------------------------------------------------
161
+
162
+ // $value: nowrap | wrap | wrap-reverse
163
+ @mixin flex-wrap($value: nowrap, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
164
+ @if $legacy and not $wrap {
165
+ @include legacy-flex-wrap($value);
166
+ }
167
+
168
+ @include experimental(flex-wrap, $value, flex-support-either()...);
169
+ }
170
+
171
+ @mixin legacy-flex-wrap($value: nowrap) {
172
+ // NOTE: @box has no equivalent of wrap-reverse
173
+ @include experimental(box-lines, if($value == nowrap, single, multiple), $box-support...);
174
+ }
175
+
176
+ // ----------------------------------------------------------------------
177
+
178
+ // Distributing extra space along the "main axis"
179
+ // $value: flex-start | flex-end | center | space-between | space-around
180
+ @mixin justify-content($value: flex-start, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
181
+ @if $legacy and not $wrap {
182
+ @include legacy-justify-content($value);
183
+ }
184
+
185
+ @include experimental(flex-pack, flex-translate-value($value, flexbox), $flexbox-support...);
186
+ @include experimental(justify-content, $value, $flex-support...);
187
+ }
188
+
189
+ @mixin legacy-justify-content($value: flex-start) {
190
+ @include experimental(box-pack, flex-translate-value($value, box), $box-support...);
191
+ }
192
+
193
+ // ----------------------------------------------------------------------
194
+
195
+ // Distributing extra space along the "cross axis"
196
+ // $value: flex-start | flex-end | center | space-between | space-around | stretch
197
+ @mixin align-content($value: flex-start, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
198
+ @if $legacy and not $wrap {
199
+ @include legacy-align-content($value);
200
+ }
201
+
202
+ @include experimental(flex-line-pack, flex-translate-value($value, flexbox), $flexbox-support...);
203
+ @include experimental(align-content, $value, $flex-support...);
204
+ }
205
+
206
+ @mixin legacy-align-content($value: flex-start) {
207
+ @include experimental(box-align, flex-translate-value($value, box), $box-support...);
208
+ }
209
+
210
+ // ----------------------------------------------------------------------
211
+
212
+ // Align items along the "cross axis"
213
+ // $value: flex-start | flex-end | center | baseline | stretch
214
+ @mixin align-items($value: stretch) { // the flex container
215
+ // There is no @box version of this property
216
+ @include experimental(flex-align, flex-translate-value($value, flexbox), $flexbox-support...);
217
+ @include experimental(align-items, $value, $flex-support...);
218
+ }
219
+
220
+ // ====================================================================================================
221
+ // | Flex Item Properties
222
+ // ====================================================================================================
223
+
224
+ // $value: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
225
+ @mixin flex($value: 0 1 auto, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
226
+ $value: unquote($value);
227
+ @if $legacy and unitless(nth($value, 1)) {
228
+ // @box version does not have a shorthand, see `legacy-flex-grow`
229
+ @include legacy-flex-grow(nth($value, 1));
230
+ }
231
+
232
+ @include experimental(flex, $value, flex-support-either()...);
233
+ }
234
+
235
+ // ----------------------------------------------------------------------
236
+
237
+ // $value: Integer
238
+ @mixin flex-grow($value: 0, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
239
+ @if $legacy and not $wrap {
240
+ @include legacy-flex-grow($value);
241
+ }
242
+
243
+ // There is no @flexbox version of this property
244
+ @include experimental(flex-grow, $value, $flex-support...);
245
+ }
246
+
247
+ @mixin legacy-flex-grow($value: 0) {
248
+ @include experimental(box-flex, $value, $box-support...);
249
+ }
250
+
251
+ // ----------------------------------------------------------------------
252
+
253
+ // $value: Integer
254
+ @mixin flex-shrink($value: 1) {
255
+ // There is no @box version of this property
256
+ // There is no @flexbox version of this property
257
+ @include experimental(flex-shrink, $value, $flex-support...);
258
+ }
259
+
260
+ // ----------------------------------------------------------------------
261
+
262
+ // $value: united number (eg: 100px)
263
+ @mixin flex-basis($value: auto) {
264
+ // There is no @box version of this property
265
+ // There is no @flexbox version of this property
266
+ @include experimental(flex-basis, $value, $flex-support...);
267
+ }
268
+
269
+ // ----------------------------------------------------------------------
270
+
271
+ // Align items along the "cross axis" -- overrides `align-items` value on individual items
272
+ // $value: auto | flex-start | flex-end | center | baseline | stretch
273
+ @mixin align-self($value: auto) { // children of flex containers
274
+ // There is no @box version of this property
275
+ @include experimental(flex-item-align, flex-translate-value($value, flexbox), $flexbox-support...);
276
+ @include experimental(align-self, $value, $flex-support...);
277
+ }
278
+
279
+ // ----------------------------------------------------------------------
280
+
281
+ // $value: Integer
282
+ @mixin order($value: 0, $wrap: $flex-wrap-required, $legacy: $flex-legacy-enabled) {
283
+ @if $legacy and not $wrap {
284
+ @include legacy-order($value);
285
+ }
286
+
287
+ @include experimental(flex-order, $value, $flexbox-support...);
288
+ @include experimental(order, $value, $flex-support...);
289
+ }
290
+
291
+ @mixin legacy-order($value: 0) {
292
+ // the @box spec starts the ordering at 1 instead of 0 like the modern specs
293
+ @include experimental(box-ordinal-group, $value + 1, $box-support...);
294
+ }
@@ -16,7 +16,7 @@
16
16
  // [font generator](http://www.fontsquirrel.com/fontface/generator)
17
17
  //
18
18
 
19
- // In order to refer to a specific style of the font in your stylesheets as
19
+ // In order to refer to a specific style of the font in your stylesheets as
20
20
  // e.g. "font-style: italic;", you may add a couple of @font-face includes
21
21
  // containing the respective font files for each style and specying
22
22
  // respective the $style parameter.
@@ -24,8 +24,8 @@
24
24
  // Order of the includes matters, and it is: normal, bold, italic, bold+italic.
25
25
 
26
26
  @mixin font-face(
27
- $name,
28
- $font-files,
27
+ $name,
28
+ $font-files,
29
29
  $eot: false,
30
30
  $weight: false,
31
31
  $style: false
@@ -35,7 +35,7 @@
35
35
  font-family: quote($name);
36
36
  @if $eot {
37
37
  src: font-url($eot);
38
- $font-files: font-url($iefont) unquote("format('embedded-opentype')"), $font-files;
38
+ $font-files: font-url($iefont) unquote("format('eot')"), $font-files;
39
39
  }
40
40
  src: $font-files;
41
41
  @if $weight {
@@ -1,9 +1,13 @@
1
+ // Mixins to support specific CSS Text Level 3 elements
2
+
1
3
  @import "shared";
2
4
 
3
- // Mixins to support specific CSS Text Level 3 elements
4
- //
5
- //
6
- //
5
+ // @private css3-feature-support variables must always include a list of five boolean values
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ // - mozilla/webkit legacy support handled seperately below
8
+ $hyphens-support: -moz, -webkit, -ms, -o, not -khtml;
9
+
10
+
7
11
  // Mixin for word-break properties
8
12
  // http://www.w3.org/css3-text/#word-break
9
13
  // * legal values for $type : normal, keep-all, break-all
@@ -18,21 +22,10 @@
18
22
  // word-break: break-word;}
19
23
  //
20
24
  @mixin word-break($value: normal){
21
- @if $value == break-all {
22
- //Most browsers handle the break-all case the same...
23
- @include experimental(word-break, $value,
24
- not -moz, not -webkit, not -o, -ms, not -khtml, official
25
- );
26
- //Webkit handles break-all differently... as break-word
27
- @include experimental(word-break, break-word,
28
- not -moz, not -webkit, not -o, not -ms, not -khtml, official
29
- );
30
- }
31
- @else {
32
- @include experimental(word-break, $value,
33
- not -moz, not -webkit, not -o, -ms, not -khtml, official
34
- );
35
- }
25
+ word-break: $value;
26
+
27
+ //Webkit handles break-all differently... as break-word
28
+ @if $value == break-all { word-break: break-word; }
36
29
  }
37
30
 
38
31
  // Mixin for the hyphens property
@@ -50,9 +43,7 @@
50
43
  // hyphens: auto;}
51
44
  //
52
45
  @mixin hyphens($value: auto){
53
- @include experimental(hyphens, $value,
54
- -moz, -webkit, not -o, not -ms, not -khtml, official
55
- );
46
+ @include experimental(hyphens, $value, $hyphens-support);
56
47
  }
57
48
 
58
49
  // Mixin for x-browser hyphenation based on @auchenberg's post:
@@ -1,25 +1,35 @@
1
1
  @import "shared";
2
2
  @import "compass/utilities/general/hacks";
3
3
 
4
+ // Compass assumes you will use the official gradient syntax,
5
+ // unless otherwise instructed.
6
+ $use-legacy-gradient-syntax: false !default;
7
+
8
+ // Create a linear gradient using standard official or legacy syntax.
9
+ // This function must be included in one of the following
10
+ // image module mixins to work properly.
11
+ @function linear-gradient($angle, $details...) {
12
+ $legacy-syntax: $use-legacy-gradient-syntax;
13
+
14
+ @if type-of($angle) != 'number' {
15
+ $angle: compact($angle);
16
+ $legacy-syntax: if(index($angle, 'to'), false, true);
17
+ }
18
+
19
+ @if $legacy-syntax {
20
+ @return _linear-gradient_legacy($angle, $details...);
21
+ } @else {
22
+ @return _linear-gradient($angle, $details...);
23
+ }
24
+ }
25
+
4
26
  // Background property support for vendor prefixing within values.
5
27
  @mixin background(
6
- $background-1,
7
- $background-2: false,
8
- $background-3: false,
9
- $background-4: false,
10
- $background-5: false,
11
- $background-6: false,
12
- $background-7: false,
13
- $background-8: false,
14
- $background-9: false,
15
- $background-10: false
28
+ $backgrounds...
16
29
  ) {
17
- $backgrounds: compact($background-1, $background-2, $background-3, $background-4, $background-5,
18
- $background-6, $background-7, $background-8, $background-9, $background-10);
19
30
  $mult-bgs: -compass-list-size($backgrounds) > 1;
20
31
  $add-pie-bg: prefixed(-pie, $backgrounds) or $mult-bgs;
21
32
  @if $experimental-support-for-svg and prefixed(-svg, $backgrounds) { background: -svg($backgrounds); }
22
- @if $support-for-original-webkit-gradients and prefixed(-owg, $backgrounds) { background: -owg($backgrounds); }
23
33
  @if $experimental-support-for-webkit and prefixed(-webkit, $backgrounds) { background: -webkit($backgrounds); }
24
34
  @if $experimental-support-for-mozilla and prefixed(-moz, $backgrounds) { background: -moz($backgrounds); }
25
35
  @if $experimental-support-for-opera and prefixed(-o, $backgrounds) { background: -o($backgrounds); }
@@ -27,46 +37,25 @@
27
37
  background: $backgrounds ;
28
38
  }
29
39
 
40
+ // Set any number of background layers, along with a fallback.
41
+ // The final argument will be output separately, first, as a css2 fallback.
30
42
  @mixin background-with-css2-fallback(
31
- $background-1,
32
- $background-2: false,
33
- $background-3: false,
34
- $background-4: false,
35
- $background-5: false,
36
- $background-6: false,
37
- $background-7: false,
38
- $background-8: false,
39
- $background-9: false,
40
- $background-10: false
43
+ $backgrounds...
41
44
  ) {
42
- $backgrounds: compact($background-1, $background-2, $background-3, $background-4, $background-5,
43
- $background-6, $background-7, $background-8, $background-9, $background-10);
44
45
  $mult-bgs: -compass-list-size($backgrounds) > 1;
45
46
  $simple-background: if($mult-bgs or prefixed(-css2, $backgrounds), -css2(-compass-nth($backgrounds, last)), false);
46
47
  @if not blank($simple-background) { background: $simple-background; }
47
- @include background($background-1, $background-2, $background-3, $background-4, $background-5,
48
- $background-6, $background-7, $background-8, $background-9, $background-10);
48
+ @include background($backgrounds);
49
49
  }
50
50
 
51
51
 
52
52
  // Background image property support for vendor prefixing within values.
53
53
  @mixin background-image(
54
- $image-1,
55
- $image-2: false,
56
- $image-3: false,
57
- $image-4: false,
58
- $image-5: false,
59
- $image-6: false,
60
- $image-7: false,
61
- $image-8: false,
62
- $image-9: false,
63
- $image-10: false
54
+ $images...
64
55
  ) {
65
- $images: compact($image-1, $image-2, $image-3, $image-4, $image-5, $image-6, $image-7, $image-8, $image-9, $image-10);
66
56
  $add-pie-bg: prefixed(-pie, $images) or -compass-list-size($images) > 1;
67
57
 
68
58
  @if $experimental-support-for-svg and prefixed(-svg, $images) { background-image: -svg($images); background-size: 100%; }
69
- @if $support-for-original-webkit-gradients and prefixed(-owg, $images) { background-image: -owg($images); }
70
59
  @if $experimental-support-for-webkit and prefixed(-webkit, $images) { background-image: -webkit($images); }
71
60
  @if $experimental-support-for-mozilla and prefixed(-moz, $images) { background-image: -moz($images); }
72
61
  @if $experimental-support-for-opera and prefixed(-o, $images) { background-image: -o($images); }
@@ -80,7 +69,11 @@
80
69
  // any background-image properties that you have specified.
81
70
  //
82
71
  // For the `$orientation` parameter, you can pass `vertical` or `horizontal`.
83
- @mixin filter-gradient($start-color, $end-color, $orientation: vertical) {
72
+ @mixin filter-gradient(
73
+ $start-color,
74
+ $end-color,
75
+ $orientation: vertical
76
+ ) {
84
77
  @include has-layout;
85
78
  $gradient-type: if($orientation == vertical, 0, 1);
86
79
  @if $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8 {
@@ -90,9 +83,10 @@
90
83
 
91
84
 
92
85
  // Border image property support for vendor prefixing properties and values.
93
- @mixin border-image($value) {
86
+ @mixin border-image(
87
+ $value
88
+ ) {
94
89
  @if $experimental-support-for-mozilla { -moz-border-image: -moz(reject(-compass-list($value), fill)); }
95
- @if $support-for-original-webkit-gradients { -webkit-border-image: -owg(reject(-compass-list($value), fill)); }
96
90
  @if $experimental-support-for-webkit { -webkit-border-image: -webkit(reject(-compass-list($value), fill)); }
97
91
  @if $experimental-support-for-opera { -o-border-image: -o(reject(-compass-list($value), fill)); }
98
92
  @if $experimental-support-for-svg { border-image: -svg(reject(-compass-list($value), fill)); }
@@ -100,9 +94,10 @@
100
94
  }
101
95
 
102
96
  // List style image property support for vendor prefixing within values.
103
- @mixin list-style-image($image) {
97
+ @mixin list-style-image(
98
+ $image
99
+ ) {
104
100
  @if $experimental-support-for-mozilla and prefixed(-moz, $image) { list-style-image: -moz($image); }
105
- @if $support-for-original-webkit-gradients and prefixed(-owg, $image) { list-style-image: -owg($image); }
106
101
  @if $experimental-support-for-webkit and prefixed(-webkit, $image) { list-style-image: -webkit($image); }
107
102
  @if $experimental-support-for-opera and prefixed(-o, $image) { list-style-image: -o($image); }
108
103
  @if $experimental-support-for-svg and prefixed(-svg, $image) { list-style-image: -svg($image); }
@@ -110,10 +105,11 @@
110
105
  }
111
106
 
112
107
  // List style property support for vendor prefixing within values.
113
- @mixin list-style($value) {
108
+ @mixin list-style(
109
+ $value
110
+ ) {
114
111
  $value: -compass-list($value);
115
112
  @if $experimental-support-for-mozilla and prefixed(-moz, $value) { list-style-image: -moz($value); }
116
- @if $support-for-original-webkit-gradients and prefixed(-owg, $value) { list-style-image: -owg($value); }
117
113
  @if $experimental-support-for-webkit and prefixed(-webkit, $value) { list-style-image: -webkit($value); }
118
114
  @if $experimental-support-for-opera and prefixed(-o, $value) { list-style-image: -o($value); }
119
115
  @if $experimental-support-for-svg and prefixed(-svg, $value) { list-style-image: -svg($value); }
@@ -121,10 +117,11 @@
121
117
  }
122
118
 
123
119
  // content property support for vendor prefixing within values.
124
- @mixin content($value) {
120
+ @mixin content(
121
+ $value
122
+ ) {
125
123
  $value: -compass-list($value);
126
124
  @if $experimental-support-for-mozilla and prefixed(-moz, $value) { content: -moz($value); }
127
- @if $support-for-original-webkit-gradients and prefixed(-owg, $value) { content: -owg($value); }
128
125
  @if $experimental-support-for-webkit and prefixed(-webkit, $value) { content: -webkit($value); }
129
126
  @if $experimental-support-for-opera and prefixed(-o, $value) { content: -o($value); }
130
127
  @if $experimental-support-for-svg and prefixed(-svg, $value) { content: -svg($value); }
@@ -14,7 +14,7 @@ $inline-block-alignment: middle !default;
14
14
  @if $alignment and $alignment != none {
15
15
  vertical-align: $alignment;
16
16
  }
17
- @if $legacy-support-for-ie {
17
+ @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
18
18
  *vertical-align: auto;
19
19
  zoom: 1;
20
20
  *display: inline;
@@ -1,22 +1,26 @@
1
+ // Regions
2
+
1
3
  @import "shared";
2
4
 
5
+ // @private css3-feature-support variables must always include a list of five boolean values
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml.
7
+ $regions-support: not -moz, -webkit, -ms, not -o, not -khtml;
8
+
3
9
  // Webkit, IE10 and future support for [CSS Regions](http://dev.w3.org/csswg/css3-regions/)
4
10
  //
5
- // $target is a value you use to link two regions of your css. Give the source of your content the flow-into property, and give your target container the flow-from property.
11
+ // $target is a value you use to link two regions of your css.
12
+ // Give the source of your content the flow-into property,
13
+ // and give your target container the flow-from property.
6
14
  //
7
15
  // For a visual explanation, see the diagrams at Chris Coyier's
8
16
  // [CSS-Tricks](http://css-tricks.com/content-folding/)
9
17
 
10
18
  @mixin flow-into($target) {
11
19
  $target: unquote($target);
12
- @include experimental(flow-into, $target,
13
- not -moz, -webkit, not -o, -ms, not -khtml, not official
14
- );
20
+ @include experimental(flow-into, $target, $regions-support...);
15
21
  }
16
22
 
17
23
  @mixin flow-from($target) {
18
24
  $target: unquote($target);
19
- @include experimental(flow-from, $target,
20
- not -moz, -webkit, not -o, -ms, not -khtml, not official
21
- );
22
- }
25
+ @include experimental(flow-from, $target, $regions-support...);
26
+ }