compass 0.13.alpha.0 → 0.13.alpha.2

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 (367) hide show
  1. data/README.markdown +6 -4
  2. data/Rakefile +9 -0
  3. data/VERSION.yml +2 -2
  4. data/bin/compass +2 -1
  5. data/features/command_line.feature +5 -27
  6. data/features/step_definitions/command_line_steps.rb +3 -2
  7. data/frameworks/compass/stylesheets/compass/_css3.scss +3 -0
  8. data/frameworks/compass/stylesheets/compass/_support.scss +6 -0
  9. data/frameworks/compass/stylesheets/compass/css3/_animation.scss +77 -76
  10. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +15 -9
  11. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +35 -36
  12. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +36 -34
  13. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +15 -15
  14. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +30 -48
  15. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +22 -27
  16. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +13 -8
  17. data/frameworks/compass/stylesheets/compass/css3/_box.scss +60 -82
  18. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +145 -25
  19. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +44 -0
  20. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +77 -0
  21. data/frameworks/compass/stylesheets/compass/css3/_images.scss +2 -2
  22. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +14 -8
  23. data/frameworks/compass/stylesheets/compass/css3/_selection.scss +31 -0
  24. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +207 -21
  25. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +52 -13
  26. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +14 -14
  27. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +127 -60
  28. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +35 -15
  29. data/frameworks/compass/stylesheets/compass/typography/_units.scss +152 -0
  30. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +174 -98
  31. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +5 -3
  32. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +6 -3
  33. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +1 -1
  34. data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +35 -9
  35. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +7 -3
  36. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +2 -2
  37. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +25 -10
  38. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +14 -9
  39. data/lib/compass.rb +2 -2
  40. data/lib/compass/actions.rb +5 -1
  41. data/lib/compass/commands/project_base.rb +7 -1
  42. data/lib/compass/commands/update_project.rb +2 -2
  43. data/lib/compass/commands/watch_project.rb +6 -86
  44. data/lib/compass/compiler.rb +6 -0
  45. data/lib/compass/configuration/data.rb +1 -1
  46. data/lib/compass/configuration/helpers.rb +2 -0
  47. data/lib/compass/exec/global_options_parser.rb +1 -1
  48. data/lib/compass/exec/project_options_parser.rb +4 -0
  49. data/lib/compass/logger.rb +2 -0
  50. data/lib/compass/sass_extensions/functions/colors.rb +14 -0
  51. data/lib/compass/sass_extensions/functions/constants.rb +9 -0
  52. data/lib/compass/sass_extensions/functions/gradient_support.rb +44 -5
  53. data/lib/compass/sass_extensions/functions/image_size.rb +2 -1
  54. data/lib/compass/sass_extensions/functions/math.rb +14 -2
  55. data/lib/compass/sass_extensions/functions/sprites.rb +81 -14
  56. data/lib/compass/sass_extensions/functions/urls.rb +29 -2
  57. data/lib/compass/sass_extensions/sprites.rb +2 -0
  58. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +5 -1
  59. data/lib/compass/sass_extensions/sprites/image.rb +7 -2
  60. data/lib/compass/sass_extensions/sprites/image_methods.rb +5 -2
  61. data/lib/compass/sass_extensions/sprites/images.rb +29 -0
  62. data/lib/compass/sass_extensions/sprites/layout.rb +39 -0
  63. data/lib/compass/sass_extensions/sprites/layout/diagonal.rb +42 -0
  64. data/lib/compass/sass_extensions/sprites/layout/horizontal.rb +66 -0
  65. data/lib/compass/sass_extensions/sprites/layout/smart.rb +33 -0
  66. data/lib/compass/sass_extensions/sprites/layout/vertical.rb +68 -0
  67. data/lib/compass/sass_extensions/sprites/layout_methods.rb +9 -115
  68. data/lib/compass/sass_extensions/sprites/sprite_map.rb +5 -0
  69. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +9 -5
  70. data/lib/compass/sprite_importer.rb +3 -3
  71. data/lib/compass/sprite_importer/content.erb +14 -12
  72. data/lib/compass/version.rb +2 -1
  73. data/lib/compass/watcher.rb +11 -0
  74. data/lib/compass/watcher/compiler.rb +59 -0
  75. data/lib/compass/watcher/project_watcher.rb +108 -0
  76. data/lib/compass/watcher/watch.rb +33 -0
  77. data/test/fixtures/stylesheets/busted_font_urls/config.rb +32 -0
  78. data/test/fixtures/stylesheets/busted_font_urls/css/screen.css +7 -0
  79. data/{examples/css3/extensions/fancy-fonts/templates/project/bgrove.ttf → test/fixtures/stylesheets/busted_font_urls/fonts/feed.ttf} +0 -0
  80. data/test/fixtures/stylesheets/busted_font_urls/fonts/grid.ttf +0 -0
  81. data/test/fixtures/stylesheets/busted_font_urls/fonts/sub/dk.ttf +0 -0
  82. data/test/fixtures/stylesheets/busted_font_urls/sass/screen.sass +11 -0
  83. data/test/fixtures/stylesheets/busted_font_urls/tmp/screen.css +7 -0
  84. data/test/fixtures/stylesheets/compass/css/animation-with-legacy-ie.css +0 -8
  85. data/test/fixtures/stylesheets/compass/css/animation.css +0 -8
  86. data/test/fixtures/stylesheets/compass/css/background-clip.css +5 -0
  87. data/test/fixtures/stylesheets/compass/css/background-origin.css +15 -0
  88. data/test/fixtures/stylesheets/compass/css/background-size.css +24 -0
  89. data/test/fixtures/stylesheets/compass/css/columns.css +81 -9
  90. data/test/fixtures/stylesheets/compass/css/filters.css +29 -0
  91. data/test/fixtures/stylesheets/compass/css/gradients.css +30 -27
  92. data/test/fixtures/stylesheets/compass/css/grid_background.css +7 -14
  93. data/test/fixtures/stylesheets/compass/css/hyphenation.css +16 -0
  94. data/test/fixtures/stylesheets/compass/css/lists.css +11 -13
  95. data/test/fixtures/stylesheets/compass/css/pie.css +0 -3
  96. data/test/fixtures/stylesheets/compass/css/replacement.css +59 -0
  97. data/test/fixtures/stylesheets/compass/css/reset.css +1 -1
  98. data/test/fixtures/stylesheets/compass/css/selection.css +13 -0
  99. data/test/fixtures/stylesheets/compass/css/sprites.css +250 -250
  100. data/test/fixtures/stylesheets/compass/css/text_shadow.css +22 -4
  101. data/test/fixtures/stylesheets/compass/css/transition.css +67 -11
  102. data/test/fixtures/stylesheets/compass/css/units.css +30 -0
  103. data/test/fixtures/stylesheets/compass/css/user-interface.css +12 -1
  104. data/test/fixtures/stylesheets/compass/css/utilities.css +15 -0
  105. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +199 -27
  106. data/test/fixtures/stylesheets/compass/images/flag-s5b4f509715.png +0 -0
  107. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +4 -2
  108. data/test/fixtures/stylesheets/compass/sass/background-origin.scss +10 -0
  109. data/test/fixtures/stylesheets/compass/sass/background-size.scss +12 -0
  110. data/test/fixtures/stylesheets/compass/sass/columns.scss +18 -0
  111. data/test/fixtures/stylesheets/compass/sass/filters.scss +24 -0
  112. data/test/fixtures/stylesheets/compass/sass/gradients.sass +10 -3
  113. data/test/fixtures/stylesheets/compass/sass/hyphenation.scss +11 -0
  114. data/test/fixtures/stylesheets/compass/sass/replacement.scss +22 -0
  115. data/test/fixtures/stylesheets/compass/sass/selection.scss +13 -0
  116. data/test/fixtures/stylesheets/compass/sass/text_shadow.scss +6 -1
  117. data/test/fixtures/stylesheets/compass/sass/transition.scss +11 -0
  118. data/test/fixtures/stylesheets/compass/sass/units.scss +45 -0
  119. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +10 -5
  120. data/test/fixtures/stylesheets/compass/sass/utilities.scss +10 -0
  121. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +208 -7
  122. data/test/fixtures/stylesheets/envtest/tmp/env.css +4 -4
  123. data/test/fixtures/stylesheets/valid/css/simple.css +4 -0
  124. data/test/helpers/test_case.rb +8 -1
  125. data/test/integrations/compass_test.rb +13 -13
  126. data/test/integrations/sprites_test.rb +173 -8
  127. data/test/test_helper.rb +4 -0
  128. data/test/units/command_line_test.rb +0 -2
  129. data/test/units/regressions_test.rb +35 -0
  130. data/test/units/sass_extensions_test.rb +23 -11
  131. data/test/units/sprites/image_test.rb +5 -0
  132. data/test/units/sprites/images_test.rb +46 -0
  133. data/test/units/sprites/layout_test.rb +18 -2
  134. data/test/units/watcher/compiler_test.rb +39 -0
  135. data/test/units/watcher/project_watcher_test.rb +65 -0
  136. data/test/units/watcher/watch_test.rb +42 -0
  137. metadata +83 -317
  138. data/bin/compass.compiled.rbc +0 -707
  139. data/examples/compass/images/emblem-a043c4f148.png +0 -0
  140. data/examples/compass/images/flag-03c3b29b35.png +0 -0
  141. data/examples/compass/images/flag-21cfbfbfc8.png +0 -0
  142. data/examples/css3/extensions/fancy-fonts/templates/project/Prociono.otf +0 -0
  143. data/examples/css3/extensions/fancy-fonts/templates/project/bgrove.otf +0 -0
  144. data/frameworks/blueprint/stylesheets/_blueprint.scss +0 -37
  145. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +0 -101
  146. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +0 -36
  147. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +0 -28
  148. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +0 -88
  149. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +0 -66
  150. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +0 -258
  151. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +0 -111
  152. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +0 -66
  153. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +0 -37
  154. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +0 -152
  155. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +0 -86
  156. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +0 -3
  157. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +0 -121
  158. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +0 -52
  159. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +0 -90
  160. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +0 -37
  161. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +0 -80
  162. data/frameworks/blueprint/templates/basic/grid.png +0 -0
  163. data/frameworks/blueprint/templates/basic/ie.sass +0 -4
  164. data/frameworks/blueprint/templates/basic/manifest.rb +0 -30
  165. data/frameworks/blueprint/templates/basic/partials/_base.sass +0 -10
  166. data/frameworks/blueprint/templates/basic/print.sass +0 -4
  167. data/frameworks/blueprint/templates/basic/screen.sass +0 -12
  168. data/frameworks/blueprint/templates/buttons/buttons.sass +0 -49
  169. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  170. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  171. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  172. data/frameworks/blueprint/templates/buttons/manifest.rb +0 -17
  173. data/frameworks/blueprint/templates/link_icons/link_icons.sass +0 -13
  174. data/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  175. data/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
  176. data/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
  177. data/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  178. data/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
  179. data/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  180. data/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  181. data/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  182. data/frameworks/blueprint/templates/link_icons/manifest.rb +0 -23
  183. data/frameworks/blueprint/templates/project/grid.png +0 -0
  184. data/frameworks/blueprint/templates/project/ie.sass +0 -16
  185. data/frameworks/blueprint/templates/project/manifest.rb +0 -30
  186. data/frameworks/blueprint/templates/project/partials/_base.sass +0 -11
  187. data/frameworks/blueprint/templates/project/print.sass +0 -8
  188. data/frameworks/blueprint/templates/project/screen.sass +0 -46
  189. data/frameworks/blueprint/templates/semantic/grid.png +0 -0
  190. data/frameworks/blueprint/templates/semantic/ie.sass +0 -16
  191. data/frameworks/blueprint/templates/semantic/manifest.rb +0 -33
  192. data/frameworks/blueprint/templates/semantic/partials/_base.sass +0 -10
  193. data/frameworks/blueprint/templates/semantic/partials/_form.sass +0 -6
  194. data/frameworks/blueprint/templates/semantic/partials/_page.sass +0 -17
  195. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +0 -38
  196. data/frameworks/blueprint/templates/semantic/print.sass +0 -5
  197. data/frameworks/blueprint/templates/semantic/screen.sass +0 -14
  198. data/lib/compass.rbc +0 -796
  199. data/lib/compass/actions.rbc +0 -2736
  200. data/lib/compass/app_integration.rbc +0 -836
  201. data/lib/compass/app_integration/merb.rbc +0 -106
  202. data/lib/compass/app_integration/rails.rbc +0 -2096
  203. data/lib/compass/app_integration/rails/configuration_defaults.rbc +0 -2430
  204. data/lib/compass/app_integration/rails/installer.rbc +0 -3677
  205. data/lib/compass/app_integration/stand_alone.rbc +0 -589
  206. data/lib/compass/app_integration/stand_alone/configuration_defaults.rbc +0 -721
  207. data/lib/compass/app_integration/stand_alone/installer.rbc +0 -1487
  208. data/lib/compass/browser_support.rbc +0 -1144
  209. data/lib/compass/commands.rbc +0 -307
  210. data/lib/compass/commands/base.rbc +0 -1044
  211. data/lib/compass/commands/clean_project.rbc +0 -1856
  212. data/lib/compass/commands/create_project.rbc +0 -2691
  213. data/lib/compass/commands/default.rbc +0 -1677
  214. data/lib/compass/commands/generate_grid_background.rbc +0 -1939
  215. data/lib/compass/commands/help.rbc +0 -1921
  216. data/lib/compass/commands/imports.rbc +0 -969
  217. data/lib/compass/commands/installer_command.rbc +0 -807
  218. data/lib/compass/commands/interactive.rbc +0 -1341
  219. data/lib/compass/commands/list_frameworks.rbc +0 -1111
  220. data/lib/compass/commands/print_version.rbc +0 -2478
  221. data/lib/compass/commands/project_base.rbc +0 -2085
  222. data/lib/compass/commands/project_stats.rbc +0 -4202
  223. data/lib/compass/commands/registry.rbc +0 -1350
  224. data/lib/compass/commands/sprite.rbc +0 -2212
  225. data/lib/compass/commands/stamp_pattern.rbc +0 -2011
  226. data/lib/compass/commands/unpack_extension.rbc +0 -2348
  227. data/lib/compass/commands/update_project.rbc +0 -3002
  228. data/lib/compass/commands/validate_project.rbc +0 -1686
  229. data/lib/compass/commands/watch_project.rbc +0 -4155
  230. data/lib/compass/commands/write_configuration.rbc +0 -2896
  231. data/lib/compass/compiler.rbc +0 -4913
  232. data/lib/compass/configuration.rbc +0 -1398
  233. data/lib/compass/configuration/adapters.rbc +0 -2088
  234. data/lib/compass/configuration/comments.rbc +0 -843
  235. data/lib/compass/configuration/data.rbc +0 -2633
  236. data/lib/compass/configuration/defaults.rbc +0 -3617
  237. data/lib/compass/configuration/file_data.rbc +0 -643
  238. data/lib/compass/configuration/helpers.rbc +0 -3500
  239. data/lib/compass/configuration/inheritance.rbc +0 -3592
  240. data/lib/compass/configuration/paths.rbc +0 -412
  241. data/lib/compass/configuration/serialization.rbc +0 -1996
  242. data/lib/compass/dependencies.rbc +0 -232
  243. data/lib/compass/errors.rbc +0 -176
  244. data/lib/compass/exec.rbc +0 -500
  245. data/lib/compass/exec/command_option_parser.rbc +0 -676
  246. data/lib/compass/exec/global_options_parser.rbc +0 -1306
  247. data/lib/compass/exec/helpers.rbc +0 -758
  248. data/lib/compass/exec/project_options_parser.rbc +0 -1515
  249. data/lib/compass/exec/sub_command_ui.rbc +0 -1191
  250. data/lib/compass/frameworks.rbc +0 -3640
  251. data/lib/compass/grid_builder.rbc +0 -0
  252. data/lib/compass/installers.rbc +0 -152
  253. data/lib/compass/installers/bare_installer.rbc +0 -939
  254. data/lib/compass/installers/base.rbc +0 -4427
  255. data/lib/compass/installers/manifest.rbc +0 -3335
  256. data/lib/compass/installers/manifest_installer.rbc +0 -1591
  257. data/lib/compass/installers/template_context.rbc +0 -1030
  258. data/lib/compass/logger.rbc +0 -2317
  259. data/lib/compass/quick_cache.rbc +0 -324
  260. data/lib/compass/sass_extensions.rbc +0 -213
  261. data/lib/compass/sass_extensions/functions.rbc +0 -808
  262. data/lib/compass/sass_extensions/functions/colors.rbc +0 -1279
  263. data/lib/compass/sass_extensions/functions/constants.rbc +0 -1921
  264. data/lib/compass/sass_extensions/functions/cross_browser_support.rbc +0 -1966
  265. data/lib/compass/sass_extensions/functions/display.rbc +0 -1227
  266. data/lib/compass/sass_extensions/functions/enumerate.rbc +0 -446
  267. data/lib/compass/sass_extensions/functions/env.rbc +0 -299
  268. data/lib/compass/sass_extensions/functions/font_files.rbc +0 -821
  269. data/lib/compass/sass_extensions/functions/gradient_support.rbc +0 -14147
  270. data/lib/compass/sass_extensions/functions/image_size.rbc +0 -3152
  271. data/lib/compass/sass_extensions/functions/inline_image.rbc +0 -1678
  272. data/lib/compass/sass_extensions/functions/lists.rbc +0 -2601
  273. data/lib/compass/sass_extensions/functions/selectors.rbc +0 -1592
  274. data/lib/compass/sass_extensions/functions/sprites.rbc +0 -3792
  275. data/lib/compass/sass_extensions/functions/trig.rbc +0 -811
  276. data/lib/compass/sass_extensions/functions/urls.rbc +0 -5248
  277. data/lib/compass/sass_extensions/monkey_patches.rbc +0 -134
  278. data/lib/compass/sass_extensions/monkey_patches/browser_support.rbc +0 -2169
  279. data/lib/compass/sass_extensions/monkey_patches/traversal.rbc +0 -660
  280. data/lib/compass/sass_extensions/sprites.rbc +0 -363
  281. data/lib/compass/sass_extensions/sprites/base.rbc +0 -4529
  282. data/lib/compass/sass_extensions/sprites/engines.rbc +0 -662
  283. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rbc +0 -1074
  284. data/lib/compass/sass_extensions/sprites/image.rbc +0 -2961
  285. data/lib/compass/sass_extensions/sprites/image_methods.rbc +0 -900
  286. data/lib/compass/sass_extensions/sprites/image_row.rbc +0 -1168
  287. data/lib/compass/sass_extensions/sprites/layout_methods.rbc +0 -3236
  288. data/lib/compass/sass_extensions/sprites/row_fitter.rbc +0 -2067
  289. data/lib/compass/sass_extensions/sprites/sprite_map.rbc +0 -1991
  290. data/lib/compass/sass_extensions/sprites/sprite_methods.rbc +0 -3190
  291. data/lib/compass/sass_extensions/sprites/sprites.rbc +0 -1573
  292. data/lib/compass/sprite_importer.rbc +0 -3573
  293. data/lib/compass/util.rbc +0 -552
  294. data/lib/compass/version.rbc +0 -1245
  295. data/test/fixtures/stylesheets/blueprint/config.rb +0 -14
  296. data/test/fixtures/stylesheets/blueprint/css/ie.css +0 -76
  297. data/test/fixtures/stylesheets/blueprint/css/print.css +0 -56
  298. data/test/fixtures/stylesheets/blueprint/css/screen.css +0 -816
  299. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +0 -58
  300. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +0 -80
  301. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +0 -12
  302. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +0 -30
  303. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +0 -42
  304. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +0 -435
  305. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +0 -76
  306. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +0 -46
  307. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +0 -40
  308. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +0 -651
  309. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +0 -60
  310. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +0 -36
  311. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +0 -40
  312. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +0 -437
  313. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +0 -45
  314. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +0 -146
  315. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +0 -35
  316. data/test/fixtures/stylesheets/blueprint/images/grid.png +0 -0
  317. data/test/fixtures/stylesheets/blueprint/images/link_icons/doc.png +0 -0
  318. data/test/fixtures/stylesheets/blueprint/images/link_icons/email.png +0 -0
  319. data/test/fixtures/stylesheets/blueprint/images/link_icons/external.png +0 -0
  320. data/test/fixtures/stylesheets/blueprint/images/link_icons/feed.png +0 -0
  321. data/test/fixtures/stylesheets/blueprint/images/link_icons/im.png +0 -0
  322. data/test/fixtures/stylesheets/blueprint/images/link_icons/pdf.png +0 -0
  323. data/test/fixtures/stylesheets/blueprint/images/link_icons/visited.png +0 -0
  324. data/test/fixtures/stylesheets/blueprint/images/link_icons/xls.png +0 -0
  325. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +0 -3
  326. data/test/fixtures/stylesheets/blueprint/sass/print.sass +0 -3
  327. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +0 -18
  328. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +0 -4
  329. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +0 -34
  330. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +0 -3
  331. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +0 -3
  332. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +0 -5
  333. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +0 -3
  334. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +0 -3
  335. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +0 -3
  336. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +0 -13
  337. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +0 -3
  338. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +0 -5
  339. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +0 -5
  340. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +0 -1
  341. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +0 -3
  342. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +0 -5
  343. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +0 -3
  344. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +0 -3
  345. data/test/fixtures/stylesheets/compass/images/flag-s4798b5a210.png +0 -0
  346. data/test/helpers/command_line.rbc +0 -2820
  347. data/test/helpers/diff.rbc +0 -1104
  348. data/test/helpers/io.rbc +0 -962
  349. data/test/helpers/rails.rbc +0 -1116
  350. data/test/helpers/test_case.rbc +0 -1255
  351. data/test/integrations/compass_test.rbc +0 -6589
  352. data/test/integrations/rails_integration_test.rbc +0 -1342
  353. data/test/integrations/sprites_test.rbc +0 -6192
  354. data/test/test_helper.rbc +0 -1694
  355. data/test/units/actions_test.rbc +0 -644
  356. data/test/units/command_line_test.rbc +0 -1532
  357. data/test/units/compass_png_test.rbc +0 -0
  358. data/test/units/configuration_test.rbc +0 -3833
  359. data/test/units/rails_configuration_test.rbc +0 -1032
  360. data/test/units/sass_extensions_test.rbc +0 -3586
  361. data/test/units/sprites/engine_test.rbc +0 -962
  362. data/test/units/sprites/image_row_test.rbc +0 -1578
  363. data/test/units/sprites/image_test.rbc +0 -2836
  364. data/test/units/sprites/importer_test.rbc +0 -2620
  365. data/test/units/sprites/row_fitter_test.rbc +0 -1479
  366. data/test/units/sprites/sprite_command_test.rbc +0 -1147
  367. data/test/units/sprites/sprite_map_test.rbc +0 -6515
@@ -1,58 +1,61 @@
1
1
  @import "shared";
2
2
 
3
+ // ----------------------------------------------------------------------------
4
+ // @private css3-feature-support variables must always include a list of five boolean values
5
+ // representing in order: -moz, -webkit, -o, -ms, -khtml
6
+ $multicolumn-support: -moz, -webkit, not -o, not -ms, not -khtml;
7
+
8
+ // ----------------------------------------------------------------------------
9
+ // Mixins
10
+
3
11
  // Specify the shorthand `columns` property.
4
12
  //
5
13
  // Example:
6
14
  //
7
- // @include columns(20em 2)
15
+ // @include columns(20em 2);
8
16
  @mixin columns($width-and-count) {
9
- @include experimental(columns, $width-and-count,
10
- -moz, -webkit, not -o, -ms, not -khtml, official
11
- );
17
+ @include experimental(columns, $width-and-count, $multicolumn-support...);
12
18
  }
13
19
 
14
20
  // Specify the number of columns
15
21
  @mixin column-count($count) {
16
- @include experimental(column-count, $count,
17
- -moz, -webkit, not -o, -ms, not -khtml, official
18
- );
22
+ @include experimental(column-count, $count, $multicolumn-support...);
19
23
  }
20
24
 
21
25
  // Specify the gap between columns e.g. `20px`
22
26
  @mixin column-gap($width) {
23
- @include experimental(column-gap, $width,
24
- -moz, -webkit, not -o, -ms, not -khtml, official
25
- );
27
+ @include experimental(column-gap, $width, $multicolumn-support...);
26
28
  }
27
29
 
28
30
  // Specify the width of columns e.g. `100px`
29
31
  @mixin column-width($width) {
30
- @include experimental(column-width, $width,
31
- -moz, -webkit, not -o, -ms, not -khtml, official
32
- );
32
+ @include experimental(column-width, $width, $multicolumn-support...);
33
+ }
34
+
35
+ // Specify how many columns an element should span across.
36
+ //
37
+ // * legal values are 1, all
38
+ @mixin column-span($columns) {
39
+ @include experimental(column-span, $columns,
40
+ -moz, -webkit, -o, -ms, not -khtml, official
41
+ );
33
42
  }
34
43
 
35
44
  // Specify the width of the rule between columns e.g. `1px`
36
45
  @mixin column-rule-width($width) {
37
- @include experimental(rule-width, $width,
38
- -moz, -webkit, not -o, -ms, not -khtml, official
39
- );
46
+ @include experimental(rule-width, $width, $multicolumn-support...);
40
47
  }
41
48
 
42
49
  // Specify the style of the rule between columns e.g. `dotted`.
43
50
  // This works like border-style.
44
51
  @mixin column-rule-style($style) {
45
- @include experimental(rule-style, unquote($style),
46
- -moz, -webkit, not -o, -ms, not -khtml, official
47
- );
52
+ @include experimental(rule-style, unquote($style), $multicolumn-support...);
48
53
  }
49
54
 
50
55
  // Specify the color of the rule between columns e.g. `blue`.
51
56
  // This works like border-color.
52
57
  @mixin column-rule-color($color) {
53
- @include experimental(rule-color, $color,
54
- -moz, -webkit, not -o, -ms, not -khtml, official
55
- );
58
+ @include experimental(rule-color, $color, $multicolumn-support...);
56
59
  }
57
60
 
58
61
  // Mixin encompassing all column rule properties
@@ -65,7 +68,124 @@
65
68
  // @include column-rule(1px solid #c00)
66
69
  @mixin column-rule($width, $style: false, $color: false) {
67
70
  $full : -compass-space-list(compact($width, $style, $color));
68
- @include experimental(column-rule, $full,
69
- -moz, -webkit, not -o, -ms, not -khtml, official
70
- );
71
+ @include experimental(column-rule, $full, $multicolumn-support...);
72
+ }
73
+
74
+ // All-purpose mixin for setting column breaks.
75
+ //
76
+ // * legal values for $type : before, after, inside
77
+ // * legal values for '$value' are dependent on $type
78
+ // * when $type = before, legal values are auto, always, avoid, left, right, page, column, avoid-page, avoid-column
79
+ // * when $type = after, legal values are auto, always, avoid, left, right, page, column, avoid-page, avoid-column
80
+ // * when $type = inside, legal values are auto, avoid, avoid-page, avoid-column
81
+ //
82
+ // Examples:
83
+ // h2.before {@include column-break(before, always);}
84
+ // h2.after {@include column-break(after, always); }
85
+ // h2.inside {@include column-break(inside); }
86
+ //
87
+ // Which generates:
88
+ // h2.before {
89
+ // -webkit-column-break-before: always;
90
+ // break-before: always;}
91
+ //
92
+ // h2.after {
93
+ // -webkit-column-break-after: always;
94
+ // break-after: always; }
95
+ //
96
+ // h2.inside {
97
+ // -webkit-column-break-inside: auto;
98
+ // break-inside: auto;}
99
+
100
+ @mixin column-break($type: before, $value: auto){
101
+ // Webkit uses non-standard syntax
102
+ @if $experimental-support-for-webkit {
103
+ -webkit-column-break-#{$type}: $value;
104
+ }
105
+
106
+ // Official syntax
107
+ break-#{$type}: $value;
108
+ }
109
+
110
+ // Mixin for setting break-before
111
+ //
112
+ // * legal values are auto, always, avoid, left, right, page, column, avoid-page, avoid-column
113
+ //
114
+ // Example:
115
+ // h2.before {@include break-before(always);}
116
+ //
117
+ // Which generates:
118
+ //
119
+ // h2.before {
120
+ // -webkit-column-break-before: always;
121
+ // break-before: always;}
122
+ @mixin break-before($value: auto){
123
+ @include column-break(before, $value);
124
+ }
125
+
126
+ @mixin column-break-before($value: auto){
127
+ @include column-break(before, $value);
128
+ @warn '"column-break-before" has been deprecated in favor of the official syntax: "break-before".'
129
+ }
130
+
131
+ // Mixin for setting break-after
132
+ //
133
+ // * legal values are auto, always, avoid, left, right, page, column, avoid-page, avoid-column
134
+ //
135
+ // Example:
136
+ // h2.after {@include break-after(always); }
137
+ //
138
+ // Which generates:
139
+ //
140
+ // h2.after {
141
+ // -webkit-column-break-after: always;
142
+ // break-after: always; }
143
+ @mixin break-after($value: auto){
144
+ @include column-break(after, $value);
145
+ }
146
+
147
+ @mixin column-break-after($value: auto){
148
+ @include column-break(after, $value);
149
+ @warn '"column-break-after" has been deprecated in favor of the official syntax: "break-after".'
150
+ }
151
+
152
+ // Mixin for setting break-inside
153
+ //
154
+ // * legal values are auto, avoid, avoid-page, avoid-column
155
+ //
156
+ // Example:
157
+ // h2.inside {@include break-inside();}
158
+ //
159
+ // Which generates:
160
+ //
161
+ // h2.inside {
162
+ // -webkit-column-break-inside: auto;
163
+ // break-inside: auto;}
164
+ @mixin break-inside($value: auto){
165
+ @include column-break(inside, $value);
166
+ }
167
+
168
+ @mixin column-break-inside($value: auto){
169
+ @include column-break(inside, $value);
170
+ @warn '"column-break-inside" has been deprecated in favor of the official syntax: "break-inside".'
171
+ }
172
+
173
+ // Mixin for setting column-span
174
+ //
175
+ // * legal values: none, all
176
+ //
177
+ // Example:
178
+ // h2.span {@include column-span();}
179
+ @mixin column-span($span: all){
180
+ @include experimental(column-span, unquote($span), $multicolumn-support...);
181
+ }
182
+
183
+ // Mixin for setting column-fill
184
+ //
185
+ // * legal values: auto, balance
186
+ //
187
+ // Example:
188
+ // h2.fill {@include column-fill();}
189
+ @mixin column-fill($fill: balance){
190
+ @include experimental(column-fill, unquote($fill), $multicolumn-support...);
71
191
  }
@@ -0,0 +1,44 @@
1
+ @import "shared";
2
+
3
+ // ----------------------------------------------------------------------------
4
+ // @private css3-feature-support variables must always include a list of five boolean values
5
+ // representing in order: -moz, -webkit, -o, -ms, -khtml
6
+ $filter-support: -moz, -webkit, not -o, not -ms, not -khtml;
7
+
8
+ // ----------------------------------------------------------------------------
9
+ // Mixins
10
+
11
+ // Provides cross-browser support for the upcoming (?) css3 filter property.
12
+ //
13
+ // The filter argument should adhere to the standard css3 syntax
14
+ // for the filter property.
15
+ @mixin filter($filters) {
16
+ @include experimental(filter, $filters, $filter-support...);
17
+ }
18
+
19
+ // @private Apply filter-margins
20
+ @mixin apply-filter-margin($position, $width) {
21
+ @include experimental(filter-margin-#{$position}, $width, $filter-support...);
22
+ }
23
+
24
+ // filter-margin-top
25
+ @mixin filter-margin-top($width) { @include apply-filter-margin(top, $width); }
26
+
27
+ // filter-margin-right
28
+ @mixin filter-margin-right($width) { @include apply-filter-margin(right, $width); }
29
+
30
+ // filter-margin-bottom
31
+ @mixin filter-margin-bottom($width) { @include apply-filter-margin(bottom, $width); }
32
+
33
+ // filter-margin-left
34
+ @mixin filter-margin-left($width) { @include apply-filter-margin(left, $width); }
35
+
36
+ // filter-margin
37
+ @mixin filter-margin($widths) {
38
+ @include experimental(filter-margin, $widths, $filter-support...);
39
+ }
40
+
41
+ // color-interpolation-filters (auto | sRGB | linearRGB )
42
+ @mixin color-interpolation-filters($value) {
43
+ @include experimental(color-interpolation-filters, $value, $filter-support...);
44
+ }
@@ -0,0 +1,77 @@
1
+ @import "shared";
2
+
3
+ // Mixins to support specific CSS Text Level 3 elements
4
+ //
5
+ //
6
+ //
7
+ // Mixin for word-break properties
8
+ // http://www.w3.org/css3-text/#word-break
9
+ // * legal values for $type : normal, keep-all, break-all
10
+ //
11
+ // Example:
12
+ // p.wordBreak {@include word-break(break-all);}
13
+ //
14
+ // Which generates:
15
+ // p.wordBreak {
16
+ // -ms-word-break: break-all;
17
+ // word-break: break-all;
18
+ // word-break: break-word;}
19
+ //
20
+ @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
+ }
36
+ }
37
+
38
+ // Mixin for the hyphens property
39
+ //
40
+ // W3C specification: http://www.w3.org/TR/css3-text/#hyphens
41
+ // * legal values for $type : auto, manual, none
42
+ //
43
+ // Example:
44
+ // p {
45
+ // @include hyphens(auto);}
46
+ // Which generates:
47
+ // p {
48
+ // -moz-hyphens: auto;
49
+ // -webkit-hyphens: auto;
50
+ // hyphens: auto;}
51
+ //
52
+ @mixin hyphens($value: auto){
53
+ @include experimental(hyphens, $value,
54
+ -moz, -webkit, not -o, not -ms, not -khtml, official
55
+ );
56
+ }
57
+
58
+ // Mixin for x-browser hyphenation based on @auchenberg's post:
59
+ // Removes the need for the <wbr/> HTML tag
60
+ // http://blog.kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/
61
+ //
62
+ // Example:
63
+ // div {@include hyphenation;}
64
+ //
65
+ // Which generates:
66
+ // div {
67
+ // -ms-word-break: break-all;
68
+ // word-break: break-all;
69
+ // word-break: break-word;
70
+ // -moz-hyphens: auto;
71
+ // -webkit-hyphens: auto;
72
+ // hyphens: auto;}
73
+ //
74
+ @mixin hyphenation{
75
+ @include word-break(break-all);
76
+ @include hyphens;
77
+ }
@@ -23,7 +23,6 @@
23
23
  @if $experimental-support-for-webkit and prefixed(-webkit, $backgrounds) { background: -webkit($backgrounds); }
24
24
  @if $experimental-support-for-mozilla and prefixed(-moz, $backgrounds) { background: -moz($backgrounds); }
25
25
  @if $experimental-support-for-opera and prefixed(-o, $backgrounds) { background: -o($backgrounds); }
26
- @if $experimental-support-for-microsoft and prefixed(-ms, $backgrounds) { background: -ms($backgrounds); }
27
26
  @if $experimental-support-for-pie and $add-pie-bg { -pie-background: -pie($backgrounds); }
28
27
  background: $backgrounds ;
29
28
  }
@@ -71,7 +70,6 @@
71
70
  @if $experimental-support-for-webkit and prefixed(-webkit, $images) { background-image: -webkit($images); }
72
71
  @if $experimental-support-for-mozilla and prefixed(-moz, $images) { background-image: -moz($images); }
73
72
  @if $experimental-support-for-opera and prefixed(-o, $images) { background-image: -o($images); }
74
- @if $experimental-support-for-microsoft and prefixed(-ms, $images) { background-image: -ms($images); }
75
73
  @if $experimental-support-for-pie and $add-pie-bg { @warn "PIE does not support background-image. Use @include background(#{$images}) instead." }
76
74
  background-image: $images ;
77
75
  }
@@ -80,6 +78,8 @@
80
78
  // For use in IE 6 - 8. Best practice would have you apply this via a
81
79
  // conditional IE stylesheet, but if you must, you should place this before
82
80
  // any background-image properties that you have specified.
81
+ //
82
+ // For the `$orientation` parameter, you can pass `vertical` or `horizontal`.
83
83
  @mixin filter-gradient($start-color, $end-color, $orientation: vertical) {
84
84
  @include has-layout;
85
85
  $gradient-type: if($orientation == vertical, 0, 1);
@@ -1,16 +1,22 @@
1
1
  @import "shared";
2
2
 
3
- // Provides a cross-browser method to implement `display: inline-block;`
3
+ // Set `$inline-block-alignment` to `none` or `false` to disable the output
4
+ // of a vertical-align property in the inline-block mixin.
5
+ // Or set it to a legal value for `vertical-align` to change the default.
6
+ $inline-block-alignment: middle !default;
4
7
 
5
- @mixin inline-block {
6
- @if $legacy-support-for-ie {
7
- & { *display: inline; }
8
+ // Provides a cross-browser method to implement `display: inline-block;`
9
+ @mixin inline-block($alignment: $inline-block-alignment) {
10
+ @if $legacy-support-for-mozilla {
11
+ display: -moz-inline-stack;
8
12
  }
9
- display: -moz-inline-box;
10
- -moz-box-orient: vertical;
11
13
  display: inline-block;
12
- vertical-align: middle;
13
- @if $legacy-support-for-ie {
14
+ @if $alignment and $alignment != none {
15
+ vertical-align: $alignment;
16
+ }
17
+ @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
14
18
  *vertical-align: auto;
19
+ zoom: 1;
20
+ *display: inline;
15
21
  }
16
22
  }
@@ -0,0 +1,31 @@
1
+ @import "shared";
2
+
3
+ // Add the selection selector to any element
4
+ //
5
+ // There are two usage modes: at the stylesheet root, include the mixin with
6
+ // styles passed as mixin content. This applies to all elements. For example:
7
+ //
8
+ // @include selection {
9
+ // background-color: #fe57a1;
10
+ // color: #fff;
11
+ // }
12
+ //
13
+ // If a specific element is being styled, pass "&" as an argument to the mixin
14
+ // as well. For example:
15
+ //
16
+ // .hot-pink {
17
+ // @include selection("&") {
18
+ // background-color: #fe57a1;
19
+ // color: #fff;
20
+ // }
21
+ // }
22
+ @mixin selection($selector: "") {
23
+ #{$selector}::selection {
24
+ @content;
25
+ }
26
+ @if $experimental-support-for-mozilla {
27
+ #{$selector}::-moz-selection {
28
+ @content;
29
+ }
30
+ }
31
+ }
@@ -20,6 +20,18 @@
20
20
  @if $official { #{$property} : $value; }
21
21
  }
22
22
 
23
+ // This mixin is a shortcut for applying only a single experimental value
24
+ @mixin experimental-only-for($property, $value,
25
+ $moz : false,
26
+ $webkit : false,
27
+ $o : false,
28
+ $ms : false,
29
+ $khtml : false,
30
+ $official : false
31
+ ) {
32
+ @include experimental($property, $value, $moz, $webkit, $o, $ms, $khtml, $official);
33
+ }
34
+
23
35
  // Same as experimental(), but for cases when the property is the same and the value is vendorized
24
36
  @mixin experimental-value($property, $value,
25
37
  $moz : $experimental-support-for-mozilla,
@@ -37,40 +49,214 @@
37
49
  @if $official { #{$property} : #{$value}; }
38
50
  }
39
51
 
52
+ // A debug tool for checking browser support
53
+ @mixin debug-support-matrix($experimental: true, $ie: true) {
54
+ @debug #{'$moz-'}$experimental-support-for-mozilla
55
+ #{'$webkit-'}$experimental-support-for-webkit
56
+ #{'$microsoft-'}$experimental-support-for-microsoft
57
+ #{'$opera-'}$experimental-support-for-opera
58
+ #{'$khtml-'}$experimental-support-for-khtml;
59
+ @debug #{'$ie6-'}$legacy-support-for-ie6
60
+ #{'$ie7-'}$legacy-support-for-ie7
61
+ #{'$ie8-'}$legacy-support-for-ie8;
62
+ }
63
+
64
+ // Capture the current exerimental support settings
65
+ @function capture-experimental-matrix() {
66
+ @return $experimental-support-for-mozilla
67
+ $experimental-support-for-webkit
68
+ $experimental-support-for-microsoft
69
+ $experimental-support-for-opera
70
+ $experimental-support-for-khtml;
71
+ }
72
+
73
+ // Capture the current legacy-ie support settings
74
+ @function capture-legacy-ie-matrix() {
75
+ @return $legacy-support-for-ie6
76
+ $legacy-support-for-ie7
77
+ $legacy-support-for-ie8;
78
+ }
79
+
80
+ // Capture and store support
81
+ $experimental-matrix: capture-experimental-matrix();
82
+ $legacy-ie-matrix: capture-legacy-ie-matrix();
83
+
84
+ @mixin capture-experimental-matrix {
85
+ $experimental-matrix: capture-experimental-matrix();
86
+ }
87
+
88
+ @mixin capture-legacy-ie-matrix {
89
+ $legacy-ie-matrix: capture-legacy-ie-matrix();
90
+ }
91
+
92
+ @mixin capture-support-matrix {
93
+ @include capture-experimental-matrix;
94
+ @include capture-legacy-ie-matrix;
95
+ }
96
+
40
97
  // Change the experimental-support settings in specific contexts.
41
- @mixin set-experimental-support($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false) {
42
- $experimental-support-for-mozilla: $moz;
43
- $experimental-support-for-webkit: $webkit;
44
- $experimental-support-for-microsoft: $ms;
45
- $experimental-support-for-opera: $o;
46
- $experimental-support-for-khtml: $khtml;
98
+ @mixin set-experimental-support(
99
+ $moz : false,
100
+ $webkit : false,
101
+ $ms : false,
102
+ $o : false,
103
+ $khtml : false
104
+ ) {
105
+ $experimental-support-for-mozilla : $moz;
106
+ $experimental-support-for-webkit : $webkit;
107
+ $experimental-support-for-microsoft : $ms;
108
+ $experimental-support-for-opera : $o;
109
+ $experimental-support-for-khtml : $khtml;
110
+ }
111
+
112
+ @mixin capture-and-set-experimental(
113
+ $moz : false,
114
+ $webkit : false,
115
+ $ms : false,
116
+ $o : false,
117
+ $khtml : false
118
+ ) {
119
+ @include capture-experimental-matrix;
120
+ @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
121
+ }
122
+
123
+ @mixin capture-and-adjust-experimental(
124
+ $moz : $experimental-support-for-mozilla,
125
+ $webkit : $experimental-support-for-webkit,
126
+ $ms : $experimental-support-for-microsoft,
127
+ $o : $experimental-support-for-opera,
128
+ $khtml : $experimental-support-for-khtml
129
+ ) {
130
+ @include capture-experimental-matrix;
131
+ @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
47
132
  }
48
133
 
49
134
  // Change the legacy-support-for-ie* settings in specific contexts.
50
- @mixin set-legacy-ie-support($ie6: false, $ie7: false, $ie8: false) {
135
+ @mixin set-legacy-ie-support(
136
+ $ie6: false,
137
+ $ie7: false,
138
+ $ie8: false
139
+ ) {
51
140
  $legacy-support-for-ie6: $ie6;
52
141
  $legacy-support-for-ie7: $ie7;
53
142
  $legacy-support-for-ie8: $ie8;
54
143
  }
55
144
 
56
- // This mixin allows you to change the experimental support settings for
57
- // child (@content) styles.
58
- @mixin with-only-support-for($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false, $legacy-ie: false) {
145
+ @mixin capture-and-set-legacy-ie(
146
+ $ie6: false,
147
+ $ie7: false,
148
+ $ie8: false
149
+ ) {
150
+ @include capture-legacy-ie-matrix;
151
+ @include set-legacy-ie-support($ie6, $ie7, $ie8);
152
+ }
153
+
154
+ @mixin capture-and-adjust-legacy-ie(
155
+ $ie6: $legacy-support-for-ie6,
156
+ $ie7: $legacy-support-for-ie7,
157
+ $ie8: $legacy-support-for-ie8
158
+ ) {
159
+ @include capture-and-set-legacy-ie($ie6, $ie7, $ie8);
160
+ }
161
+
162
+ // Capture current browser support matrix, and set a new matrix of support.
163
+ @mixin capture-and-set-support(
164
+ $moz : false,
165
+ $webkit : false,
166
+ $ms : false,
167
+ $o : false,
168
+ $khtml : false,
169
+ $ie6 : false,
170
+ $ie7 : false,
171
+ $ie8 : false
172
+ ) {
59
173
  // Capture the current state
60
- $original-moz: $experimental-support-for-mozilla;
61
- $original-webkit: $experimental-support-for-webkit;
62
- $original-o: $experimental-support-for-opera;
63
- $original-ms: $experimental-support-for-microsoft;
64
- $original-khtml: $experimental-support-for-khtml;
65
- $original-ie6: $legacy-support-for-ie6;
66
- $original-ie7: $legacy-support-for-ie7;
67
- $original-ie8: $legacy-support-for-ie8;
174
+ @include capture-support-matrix;
175
+
68
176
  // Change support settings
69
177
  @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
70
- @include set-legacy-ie-support($legacy-ie, $legacy-ie, $legacy-ie);
178
+ @include set-legacy-ie-support($ie6, $ie7, $ie8);
179
+ }
180
+
181
+ // Capture current browser support matrix, and set a new matrix of support.
182
+ @mixin capture-and-adjust-support(
183
+ $moz : $experimental-support-for-mozilla,
184
+ $webkit : $experimental-support-for-webkit,
185
+ $ms : $experimental-support-for-microsoft,
186
+ $o : $experimental-support-for-opera,
187
+ $khtml : $experimental-support-for-khtml,
188
+ $ie6 : $legacy-support-for-ie6,
189
+ $ie7 : $legacy-support-for-ie7,
190
+ $ie8 : $legacy-support-for-ie8
191
+ ) {
192
+ @include capture-and-set-support($moz, $webkit, $ms, $o, $khtml, $ie6, $ie7, $ie8);
193
+ }
194
+
195
+
196
+ // This mixin allows you to change the experimental support settings for
197
+ // child (@content) styles.
198
+ @mixin with-only-support-for(
199
+ $moz : false,
200
+ $webkit : false,
201
+ $ms : false,
202
+ $o : false,
203
+ $khtml : false,
204
+ $ie6 : false,
205
+ $ie7 : false,
206
+ $ie8 : false
207
+ ) {
208
+ // Capture current state
209
+ $wo-experimental-matrix : capture-experimental-matrix();
210
+ $wo-legacy-ie-matrix : capture-legacy-ie-matrix();
211
+
212
+ // Set new states
213
+ @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
214
+ @include set-legacy-ie-support($ie6, $ie7, $ie8);
215
+
71
216
  // Apply styles
72
217
  @content;
218
+
73
219
  // Return to original support settings
74
- @include set-legacy-ie-support($original-ie6, $original-ie7, $original-ie8);
75
- @include set-experimental-support($original-moz, $original-webkit, $original-ms, $original-o, $original-khtml);
220
+ @include set-experimental-support($wo-experimental-matrix...);
221
+ @include set-legacy-ie-support($wo-legacy-ie-matrix...);
222
+ }
223
+
224
+ // This mixin is a shortcut for making slight adjustments to browser support
225
+ // for child (@content) styles
226
+ @mixin adjust-support-for(
227
+ $moz : $experimental-support-for-mozilla,
228
+ $webkit : $experimental-support-for-webkit,
229
+ $ms : $experimental-support-for-microsoft,
230
+ $o : $experimental-support-for-opera,
231
+ $khtml : $experimental-support-for-khtml,
232
+ $ie6 : $legacy-support-for-ie6,
233
+ $ie7 : $legacy-support-for-ie7,
234
+ $ie8 : $legacy-support-for-ie8
235
+ ) {
236
+ @include with-only-support-for($moz, $webkit, $ms, $o, $khtml, $ie6, $ie7, $ie8) {
237
+ @content;
238
+ }
239
+ }
240
+
241
+ // Set a default value if the given arglist is empty
242
+ @function set-arglist-default(
243
+ $arglist,
244
+ $default
245
+ ) {
246
+ $default: if(length($default) > 0, $default, null);
247
+ $output: compact();
248
+ @each $layer in $arglist {
249
+ $output: append($output, if($layer == 'default', $default, $layer));
250
+ }
251
+ @return if(length($output) > 0, $output, $default);
252
+ }
253
+
254
+ // @private Returns the legacy value for a given box-model
255
+ // - Used by background-clip and -origin.
256
+ @function legacy-box($box) {
257
+ $box: unquote($box);
258
+ @if $box == padding-box { $box: padding; }
259
+ @if $box == border-box { $box: border; }
260
+ @if $box == content-box { $box: content; }
261
+ @return $box;
76
262
  }