compass 0.11.alpha.4 → 0.11.beta.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/VERSION.yml +2 -2
- data/examples/blueprint_plugins/src/link_icons.scss +1 -1
- data/examples/blueprint_semantic/src/liquid.scss +3 -3
- data/examples/blueprint_semantic/src/screen.scss +4 -4
- data/examples/compass/config.rb +1 -0
- data/examples/compass/images/emblem-a043c4f148.png +0 -0
- data/examples/compass/images/emblem/favorite.png +0 -0
- data/examples/compass/images/emblem/important.png +0 -0
- data/examples/compass/images/emblem/photos.png +0 -0
- data/examples/compass/images/emblem/readonly.png +0 -0
- data/examples/compass/images/emblem/symbolic-link.png +0 -0
- data/examples/compass/images/emblem/system.png +0 -0
- data/examples/compass/images/emblem/unreadable.png +0 -0
- data/examples/compass/images/flag-03c3b29b35.png +0 -0
- data/examples/compass/images/flag-21cfbfbfc8.png +0 -0
- data/examples/compass/images/flag/ad.png +0 -0
- data/examples/compass/images/flag/ae.png +0 -0
- data/examples/compass/images/flag/af.png +0 -0
- data/examples/compass/images/flag/ag.png +0 -0
- data/examples/compass/images/flag/ai.png +0 -0
- data/examples/compass/images/flag/al.png +0 -0
- data/examples/compass/images/flag/am.png +0 -0
- data/examples/compass/images/flag/an.png +0 -0
- data/examples/compass/images/flag/ao.png +0 -0
- data/examples/compass/images/flag/ar.png +0 -0
- data/examples/compass/images/flag/as.png +0 -0
- data/examples/compass/images/flag/at.png +0 -0
- data/examples/compass/images/flag/au.png +0 -0
- data/examples/compass/images/flag/aw.png +0 -0
- data/examples/compass/images/flag/ax.png +0 -0
- data/examples/compass/images/flag/az.png +0 -0
- data/examples/compass/images/flag/ba.png +0 -0
- data/examples/compass/images/flag/bb.png +0 -0
- data/examples/compass/images/flag/bd.png +0 -0
- data/examples/compass/images/flag/be.png +0 -0
- data/examples/compass/images/flag/bf.png +0 -0
- data/examples/compass/images/flag/bg.png +0 -0
- data/examples/compass/images/flag/bh.png +0 -0
- data/examples/compass/images/flag/bi.png +0 -0
- data/examples/compass/images/flag/bj.png +0 -0
- data/examples/compass/images/flag/bm.png +0 -0
- data/examples/compass/images/flag/bn.png +0 -0
- data/examples/compass/images/flag/bo.png +0 -0
- data/examples/compass/images/flag/br.png +0 -0
- data/examples/compass/images/flag/bs.png +0 -0
- data/examples/compass/images/flag/bt.png +0 -0
- data/examples/compass/images/flag/bv.png +0 -0
- data/examples/compass/images/flag/bw.png +0 -0
- data/examples/compass/images/flag/by.png +0 -0
- data/examples/compass/images/flag/bz.png +0 -0
- data/examples/compass/images/flag/ca.png +0 -0
- data/examples/compass/images/flag/catalonia.png +0 -0
- data/examples/compass/images/flag/cc.png +0 -0
- data/examples/compass/images/flag/cd.png +0 -0
- data/examples/compass/images/flag/cf.png +0 -0
- data/examples/compass/images/flag/cg.png +0 -0
- data/examples/compass/images/flag/ch.png +0 -0
- data/examples/compass/images/flag/ci.png +0 -0
- data/examples/compass/images/flag/ck.png +0 -0
- data/examples/compass/images/flag/cl.png +0 -0
- data/examples/compass/images/flag/cm.png +0 -0
- data/examples/compass/images/flag/cn.png +0 -0
- data/examples/compass/images/flag/co.png +0 -0
- data/examples/compass/images/flag/cr.png +0 -0
- data/examples/compass/images/flag/cs.png +0 -0
- data/examples/compass/images/flag/cu.png +0 -0
- data/examples/compass/images/flag/cv.png +0 -0
- data/examples/compass/images/flag/cx.png +0 -0
- data/examples/compass/images/flag/cy.png +0 -0
- data/examples/compass/images/flag/cz.png +0 -0
- data/examples/compass/images/flag/de.png +0 -0
- data/examples/compass/images/flag/dj.png +0 -0
- data/examples/compass/images/flag/dk.png +0 -0
- data/examples/compass/images/flag/dm.png +0 -0
- data/examples/compass/images/flag/do.png +0 -0
- data/examples/compass/images/flag/dz.png +0 -0
- data/examples/compass/images/flag/ec.png +0 -0
- data/examples/compass/images/flag/ee.png +0 -0
- data/examples/compass/images/flag/eg.png +0 -0
- data/examples/compass/images/flag/eh.png +0 -0
- data/examples/compass/images/flag/england.png +0 -0
- data/examples/compass/images/flag/er.png +0 -0
- data/examples/compass/images/flag/es.png +0 -0
- data/examples/compass/images/flag/et.png +0 -0
- data/examples/compass/images/flag/europeanunion.png +0 -0
- data/examples/compass/images/flag/fam.png +0 -0
- data/examples/compass/images/flag/fi.png +0 -0
- data/examples/compass/images/flag/fj.png +0 -0
- data/examples/compass/images/flag/fk.png +0 -0
- data/examples/compass/images/flag/fm.png +0 -0
- data/examples/compass/images/flag/fo.png +0 -0
- data/examples/compass/images/flag/fr.png +0 -0
- data/examples/compass/images/flag/ga.png +0 -0
- data/examples/compass/images/flag/gb.png +0 -0
- data/examples/compass/images/flag/gd.png +0 -0
- data/examples/compass/images/flag/ge.png +0 -0
- data/examples/compass/images/flag/gf.png +0 -0
- data/examples/compass/images/flag/gh.png +0 -0
- data/examples/compass/images/flag/gi.png +0 -0
- data/examples/compass/images/flag/gl.png +0 -0
- data/examples/compass/images/flag/gm.png +0 -0
- data/examples/compass/images/flag/gn.png +0 -0
- data/examples/compass/images/flag/gp.png +0 -0
- data/examples/compass/images/flag/gq.png +0 -0
- data/examples/compass/images/flag/gr.png +0 -0
- data/examples/compass/images/flag/gs.png +0 -0
- data/examples/compass/images/flag/gt.png +0 -0
- data/examples/compass/images/flag/gu.png +0 -0
- data/examples/compass/images/flag/gw.png +0 -0
- data/examples/compass/images/flag/gy.png +0 -0
- data/examples/compass/images/flag/hk.png +0 -0
- data/examples/compass/images/flag/hm.png +0 -0
- data/examples/compass/images/flag/hn.png +0 -0
- data/examples/compass/images/flag/hr.png +0 -0
- data/examples/compass/images/flag/ht.png +0 -0
- data/examples/compass/images/flag/hu.png +0 -0
- data/examples/compass/images/flag/id-2.png +0 -0
- data/examples/compass/images/flag/ie.png +0 -0
- data/examples/compass/images/flag/il.png +0 -0
- data/examples/compass/images/flag/in.png +0 -0
- data/examples/compass/images/flag/io.png +0 -0
- data/examples/compass/images/flag/iq.png +0 -0
- data/examples/compass/images/flag/ir.png +0 -0
- data/examples/compass/images/flag/is.png +0 -0
- data/examples/compass/images/flag/it.png +0 -0
- data/examples/compass/images/flag/jm.png +0 -0
- data/examples/compass/images/flag/jo.png +0 -0
- data/examples/compass/images/flag/jp.png +0 -0
- data/examples/compass/images/flag/ke.png +0 -0
- data/examples/compass/images/flag/kg.png +0 -0
- data/examples/compass/images/flag/kh.png +0 -0
- data/examples/compass/images/flag/ki.png +0 -0
- data/examples/compass/images/flag/km.png +0 -0
- data/examples/compass/images/flag/kn.png +0 -0
- data/examples/compass/images/flag/kp.png +0 -0
- data/examples/compass/images/flag/kr.png +0 -0
- data/examples/compass/images/flag/kw.png +0 -0
- data/examples/compass/images/flag/ky.png +0 -0
- data/examples/compass/images/flag/kz.png +0 -0
- data/examples/compass/images/flag/la.png +0 -0
- data/examples/compass/images/flag/lb.png +0 -0
- data/examples/compass/images/flag/lc.png +0 -0
- data/examples/compass/images/flag/li.png +0 -0
- data/examples/compass/images/flag/lk.png +0 -0
- data/examples/compass/images/flag/lr.png +0 -0
- data/examples/compass/images/flag/ls.png +0 -0
- data/examples/compass/images/flag/lt.png +0 -0
- data/examples/compass/images/flag/lu.png +0 -0
- data/examples/compass/images/flag/lv.png +0 -0
- data/examples/compass/images/flag/ly.png +0 -0
- data/examples/compass/images/flag/ma.png +0 -0
- data/examples/compass/images/flag/mc.png +0 -0
- data/examples/compass/images/flag/md.png +0 -0
- data/examples/compass/images/flag/me.png +0 -0
- data/examples/compass/images/flag/mg.png +0 -0
- data/examples/compass/images/flag/mh.png +0 -0
- data/examples/compass/images/flag/mk.png +0 -0
- data/examples/compass/images/flag/ml.png +0 -0
- data/examples/compass/images/flag/mm.png +0 -0
- data/examples/compass/images/flag/mn.png +0 -0
- data/examples/compass/images/flag/mo.png +0 -0
- data/examples/compass/images/flag/mp.png +0 -0
- data/examples/compass/images/flag/mq.png +0 -0
- data/examples/compass/images/flag/mr.png +0 -0
- data/examples/compass/images/flag/ms.png +0 -0
- data/examples/compass/images/flag/mt.png +0 -0
- data/examples/compass/images/flag/mu.png +0 -0
- data/examples/compass/images/flag/mv.png +0 -0
- data/examples/compass/images/flag/mw.png +0 -0
- data/examples/compass/images/flag/mx.png +0 -0
- data/examples/compass/images/flag/my.png +0 -0
- data/examples/compass/images/flag/mz.png +0 -0
- data/examples/compass/images/flag/na.png +0 -0
- data/examples/compass/images/flag/nc.png +0 -0
- data/examples/compass/images/flag/ne.png +0 -0
- data/examples/compass/images/flag/nf.png +0 -0
- data/examples/compass/images/flag/ng.png +0 -0
- data/examples/compass/images/flag/ni.png +0 -0
- data/examples/compass/images/flag/nl.png +0 -0
- data/examples/compass/images/flag/no.png +0 -0
- data/examples/compass/images/flag/np.png +0 -0
- data/examples/compass/images/flag/nr.png +0 -0
- data/examples/compass/images/flag/nu.png +0 -0
- data/examples/compass/images/flag/nz.png +0 -0
- data/examples/compass/images/flag/om.png +0 -0
- data/examples/compass/images/flag/pa.png +0 -0
- data/examples/compass/images/flag/pe.png +0 -0
- data/examples/compass/images/flag/pf.png +0 -0
- data/examples/compass/images/flag/pg.png +0 -0
- data/examples/compass/images/flag/ph.png +0 -0
- data/examples/compass/images/flag/pk.png +0 -0
- data/examples/compass/images/flag/pl.png +0 -0
- data/examples/compass/images/flag/pm.png +0 -0
- data/examples/compass/images/flag/pn.png +0 -0
- data/examples/compass/images/flag/pr.png +0 -0
- data/examples/compass/images/flag/ps.png +0 -0
- data/examples/compass/images/flag/pt.png +0 -0
- data/examples/compass/images/flag/pw.png +0 -0
- data/examples/compass/images/flag/py.png +0 -0
- data/examples/compass/images/flag/qa.png +0 -0
- data/examples/compass/images/flag/re.png +0 -0
- data/examples/compass/images/flag/ro.png +0 -0
- data/examples/compass/images/flag/rs.png +0 -0
- data/examples/compass/images/flag/ru.png +0 -0
- data/examples/compass/images/flag/rw.png +0 -0
- data/examples/compass/images/flag/sa.png +0 -0
- data/examples/compass/images/flag/sb.png +0 -0
- data/examples/compass/images/flag/sc.png +0 -0
- data/examples/compass/images/flag/scotland.png +0 -0
- data/examples/compass/images/flag/sd.png +0 -0
- data/examples/compass/images/flag/se.png +0 -0
- data/examples/compass/images/flag/sg.png +0 -0
- data/examples/compass/images/flag/sh.png +0 -0
- data/examples/compass/images/flag/si.png +0 -0
- data/examples/compass/images/flag/sj.png +0 -0
- data/examples/compass/images/flag/sk.png +0 -0
- data/examples/compass/images/flag/sl.png +0 -0
- data/examples/compass/images/flag/sm.png +0 -0
- data/examples/compass/images/flag/sn.png +0 -0
- data/examples/compass/images/flag/so.png +0 -0
- data/examples/compass/images/flag/sr.png +0 -0
- data/examples/compass/images/flag/st.png +0 -0
- data/examples/compass/images/flag/sv.png +0 -0
- data/examples/compass/images/flag/sy.png +0 -0
- data/examples/compass/images/flag/sz.png +0 -0
- data/examples/compass/images/flag/tc.png +0 -0
- data/examples/compass/images/flag/td.png +0 -0
- data/examples/compass/images/flag/tf.png +0 -0
- data/examples/compass/images/flag/tg.png +0 -0
- data/examples/compass/images/flag/th.png +0 -0
- data/examples/compass/images/flag/tj.png +0 -0
- data/examples/compass/images/flag/tk.png +0 -0
- data/examples/compass/images/flag/tl.png +0 -0
- data/examples/compass/images/flag/tm.png +0 -0
- data/examples/compass/images/flag/tn.png +0 -0
- data/examples/compass/images/flag/to.png +0 -0
- data/examples/compass/images/flag/tr.png +0 -0
- data/examples/compass/images/flag/tt.png +0 -0
- data/examples/compass/images/flag/tv.png +0 -0
- data/examples/compass/images/flag/tw.png +0 -0
- data/examples/compass/images/flag/tz.png +0 -0
- data/examples/compass/images/flag/ua.png +0 -0
- data/examples/compass/images/flag/ug.png +0 -0
- data/examples/compass/images/flag/um.png +0 -0
- data/examples/compass/images/flag/us.png +0 -0
- data/examples/compass/images/flag/uy.png +0 -0
- data/examples/compass/images/flag/uz.png +0 -0
- data/examples/compass/images/flag/va.png +0 -0
- data/examples/compass/images/flag/vc.png +0 -0
- data/examples/compass/images/flag/ve.png +0 -0
- data/examples/compass/images/flag/vg.png +0 -0
- data/examples/compass/images/flag/vi.png +0 -0
- data/examples/compass/images/flag/vn.png +0 -0
- data/examples/compass/images/flag/vu.png +0 -0
- data/examples/compass/images/flag/wales.png +0 -0
- data/examples/compass/images/flag/wf.png +0 -0
- data/examples/compass/images/flag/ws.png +0 -0
- data/examples/compass/images/flag/ye.png +0 -0
- data/examples/compass/images/flag/yt.png +0 -0
- data/examples/compass/images/flag/za.png +0 -0
- data/examples/compass/images/flag/zm.png +0 -0
- data/examples/compass/images/flag/zw.png +0 -0
- data/examples/compass/sprites.html.haml +37 -0
- data/examples/compass/src/sprites.scss +25 -0
- data/examples/compass/src/sticky_footer.scss +1 -1
- data/examples/compass/src/utilities.scss +1 -1
- data/examples/css3/src/gradients.scss +30 -30
- data/examples/css3/src/main.scss +13 -19
- data/features/rails_integration.feature +32 -0
- data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +16 -9
- data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +11 -6
- data/frameworks/compass/stylesheets/compass/_support.scss +8 -5
- data/frameworks/compass/stylesheets/compass/css3/_images.scss +6 -2
- data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +6 -11
- data/frameworks/compass/stylesheets/compass/css3/_transform.scss +20 -6
- data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +3 -2
- data/lib/compass.rb +1 -1
- data/lib/compass/app_integration/rails.rb +3 -3
- data/lib/compass/app_integration/rails/actionpack2/urls.rb +2 -2
- data/lib/compass/app_integration/rails/actionpack3/railtie.rb +39 -11
- data/lib/compass/app_integration/rails/configuration_defaults.rb +14 -8
- data/lib/compass/browser_support.rb +62 -0
- data/lib/compass/commands/print_version.rb +10 -7
- data/lib/compass/commands/project_base.rb +1 -1
- data/lib/compass/commands/watch_project.rb +17 -0
- data/lib/compass/configuration/data.rb +15 -0
- data/lib/compass/configuration/helpers.rb +7 -8
- data/lib/compass/configuration/inheritance.rb +14 -0
- data/lib/compass/configuration/serialization.rb +8 -4
- data/lib/compass/sass_extensions/functions.rb +2 -1
- data/lib/compass/sass_extensions/functions/colors.rb +2 -3
- data/lib/compass/sass_extensions/functions/cross_browser_support.rb +39 -0
- data/lib/compass/sass_extensions/functions/gradient_support.rb +87 -379
- data/lib/compass/sass_extensions/functions/lists.rb +84 -0
- data/lib/compass/sass_extensions/functions/sprites.rb +4 -2
- data/lib/compass/sass_extensions/monkey_patches.rb +1 -1
- data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +89 -0
- data/lib/compass/sprites.rb +4 -4
- data/test/fixtures/stylesheets/blueprint/css/screen.css +24 -24
- data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +24 -24
- data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +24 -24
- data/test/fixtures/stylesheets/compass/css/gradients.css +21 -6
- data/test/fixtures/stylesheets/compass/css/opacity.css +4 -0
- data/test/fixtures/stylesheets/compass/css/pie.css +0 -1
- data/test/fixtures/stylesheets/compass/sass/gradients.sass +9 -0
- data/test/fixtures/stylesheets/compass/sass/opacity.scss +5 -0
- data/test/rails_integration_test.rb +3 -3
- metadata +272 -4
@@ -1,4 +1,79 @@
|
|
1
1
|
module Compass::SassExtensions::Functions::Lists
|
2
|
+
|
3
|
+
# Returns true when the object is false, an empty string, or an empty list
|
4
|
+
def blank(obj)
|
5
|
+
case obj
|
6
|
+
when Sass::Script::Bool
|
7
|
+
Sass::Script::Bool.new !obj.to_bool
|
8
|
+
when Sass::Script::String
|
9
|
+
Sass::Script::Bool.new obj.value.strip.size == 0
|
10
|
+
when Sass::Script::List
|
11
|
+
Sass::Script::Bool.new obj.value.size == 0 || obj.value.all?{|el| blank(el).to_bool}
|
12
|
+
else
|
13
|
+
Sass::Script::Bool.new false
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# Returns a new list after removing any non-true values
|
18
|
+
def compact(*args)
|
19
|
+
sep = :comma
|
20
|
+
if args.size == 1 && args.first.is_a?(Sass::Script::List)
|
21
|
+
args = args.first.value
|
22
|
+
sep = args.first.separator
|
23
|
+
end
|
24
|
+
Sass::Script::List.new(args.reject{|a| !a.to_bool}, sep)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Get the nth value from a list
|
28
|
+
def _compass_nth(list, place)
|
29
|
+
assert_type list, :List
|
30
|
+
if place.value == "first"
|
31
|
+
list.value.first
|
32
|
+
elsif place.value == "last"
|
33
|
+
list.value.last
|
34
|
+
else
|
35
|
+
list.value[place.value - 1]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Returns a list object from a value that was passed.
|
40
|
+
# This can be used to unpack a space separated list that got turned
|
41
|
+
# into a string by sass before it was passed to a mixin.
|
42
|
+
def _compass_list(arg)
|
43
|
+
if arg.is_a?(Sass::Script::List)
|
44
|
+
Sass::Script::List.new(arg.value.dup, arg.separator)
|
45
|
+
else
|
46
|
+
Sass::Script::List.new([arg], :space)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
# If the argument is a list, it will return a new list that is space delimited
|
51
|
+
# Otherwise it returns a new, single element, space-delimited list.
|
52
|
+
def _compass_space_list(list)
|
53
|
+
if list.is_a?(Sass::Script::List)
|
54
|
+
Sass::Script::List.new(list.value.dup, :space)
|
55
|
+
else
|
56
|
+
Sass::Script::List.new([list], :space)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# Returns the size of the list.
|
61
|
+
def _compass_list_size(list)
|
62
|
+
assert_list list
|
63
|
+
Sass::Script::Number.new(list.value.size)
|
64
|
+
end
|
65
|
+
|
66
|
+
# slice a sublist from a list
|
67
|
+
def _compass_slice(list, start_index, end_index = nil)
|
68
|
+
end_index ||= Sass::Script::Number.new(-1)
|
69
|
+
start_index = start_index.value
|
70
|
+
end_index = end_index.value
|
71
|
+
start_index -= 1 unless start_index < 0
|
72
|
+
end_index -= 1 unless end_index < 0
|
73
|
+
Sass::Script::List.new list.values[start_index..end_index], list.separator
|
74
|
+
end
|
75
|
+
|
76
|
+
# returns the first value of a space delimited list.
|
2
77
|
def first_value_of(list)
|
3
78
|
if list.is_a?(Sass::Script::String)
|
4
79
|
Sass::Script::String.new(list.value.split(/\s+/).first)
|
@@ -8,4 +83,13 @@ module Compass::SassExtensions::Functions::Lists
|
|
8
83
|
list
|
9
84
|
end
|
10
85
|
end
|
86
|
+
|
87
|
+
protected
|
88
|
+
|
89
|
+
def assert_list(value)
|
90
|
+
unless value.is_a?(Sass::Script::List)
|
91
|
+
raise ArgumentError.new("#{value.inspect} is not a list")
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
11
95
|
end
|
@@ -60,7 +60,8 @@ module Compass::SassExtensions::Functions::Sprites
|
|
60
60
|
file = File.join(Compass.configuration.images_path, relative_file)
|
61
61
|
width, height = Compass::SassExtensions::Functions::ImageSize::ImageProperties.new(file).size
|
62
62
|
sprite_name = Compass::Sprites.sprite_name(relative_file)
|
63
|
-
|
63
|
+
position = position_for(sprite_name)
|
64
|
+
offset = (position.unitless? || position.unit_str == "px") ? position.value : 0
|
64
65
|
@images << {
|
65
66
|
:name => sprite_name,
|
66
67
|
:file => file,
|
@@ -69,9 +70,10 @@ module Compass::SassExtensions::Functions::Sprites
|
|
69
70
|
:width => width,
|
70
71
|
:repeat => repeat_for(sprite_name),
|
71
72
|
:spacing => spacing_for(sprite_name),
|
72
|
-
:position =>
|
73
|
+
:position => position,
|
73
74
|
:digest => Digest::MD5.file(file).hexdigest
|
74
75
|
}
|
76
|
+
@width = [@width, width + offset].max
|
75
77
|
end
|
76
78
|
@images.each_with_index do |image, index|
|
77
79
|
if index == 0
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'sass/script/node'
|
2
|
+
require 'sass/script/literal'
|
3
|
+
require 'sass/script/funcall'
|
4
|
+
|
5
|
+
module Sass::Script
|
6
|
+
module HasSimpleCrossBrowserFunctionSupport
|
7
|
+
def supports?(aspect)
|
8
|
+
return true if Compass::BrowserSupport.supports?(name, aspect)
|
9
|
+
children.any? {|child| child.respond_to?(:supports?) && child.supports?(aspect) }
|
10
|
+
end
|
11
|
+
|
12
|
+
def has_aspect?(children = nil)
|
13
|
+
children ||= self.children
|
14
|
+
return true if Compass::BrowserSupport.has_aspect?(name)
|
15
|
+
children.any? {|child| child.respond_to?(:has_aspect?) && child.has_aspect? }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class CrossBrowserFunctionCall < Literal
|
20
|
+
|
21
|
+
attr_accessor :name, :args
|
22
|
+
|
23
|
+
include HasSimpleCrossBrowserFunctionSupport
|
24
|
+
|
25
|
+
def initialize(name, args)
|
26
|
+
self.name = name
|
27
|
+
self.args = args
|
28
|
+
end
|
29
|
+
|
30
|
+
def children
|
31
|
+
args
|
32
|
+
end
|
33
|
+
|
34
|
+
def inspect
|
35
|
+
to_s
|
36
|
+
end
|
37
|
+
|
38
|
+
def to_s(options = self.options)
|
39
|
+
s = "#{name}(#{args.join(", ")})"
|
40
|
+
end
|
41
|
+
|
42
|
+
%w(webkit moz o ms svg pie css2).each do |prefix|
|
43
|
+
class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
44
|
+
def to_#{prefix}(options = self.options)
|
45
|
+
prefixed_args = args.map do |arg|
|
46
|
+
arg.respond_to?(:to_#{prefix}) ? arg.to_#{prefix}(options) : arg
|
47
|
+
end
|
48
|
+
prefixed_name = if Compass::BrowserSupport.supports?(name, "#{prefix}")
|
49
|
+
"-#{prefix}-\#{name}"
|
50
|
+
else
|
51
|
+
name
|
52
|
+
end
|
53
|
+
contents = prefixed_args.join(', ')
|
54
|
+
if contents.size > 0
|
55
|
+
opts(Sass::Script::String.new("\#{prefixed_name}(\#{contents})"))
|
56
|
+
else
|
57
|
+
opts(Sass::Script::String.new(""))
|
58
|
+
end
|
59
|
+
end
|
60
|
+
RUBY
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
class Funcall < Node
|
66
|
+
include HasSimpleCrossBrowserFunctionSupport
|
67
|
+
|
68
|
+
alias sass_to_literal to_literal
|
69
|
+
|
70
|
+
def to_literal(args)
|
71
|
+
if has_aspect?(args)
|
72
|
+
CrossBrowserFunctionCall.new(name, args)
|
73
|
+
else
|
74
|
+
sass_to_literal(args)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
class List < Literal
|
80
|
+
def supports?(aspect)
|
81
|
+
children.any? {|child| child.respond_to?(:supports?) && child.supports?(aspect) }
|
82
|
+
end
|
83
|
+
|
84
|
+
def has_aspect?
|
85
|
+
children.any? {|child| child.respond_to?(:has_aspect?) && child.has_aspect? }
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
data/lib/compass/sprites.rb
CHANGED
@@ -88,13 +88,13 @@ end.join(",\n")});
|
|
88
88
|
@include sprite($#{name}-sprites, $name, $dimensions, $offset-x, $offset-y)
|
89
89
|
}
|
90
90
|
|
91
|
-
@mixin #{name}-sprites($sprite-names, $dimensions: $#{name}-sprite-dimensions) {
|
92
|
-
@include sprites($#{name}-sprites, $sprite-names, $#{name}-sprite-base-class, $dimensions)
|
91
|
+
@mixin #{name}-sprites($sprite-names, $dimensions: $#{name}-sprite-dimensions, $prefix: sprite-map-name($#{name}-sprites)) {
|
92
|
+
@include sprites($#{name}-sprites, $sprite-names, $#{name}-sprite-base-class, $dimensions, $prefix)
|
93
93
|
}
|
94
94
|
|
95
95
|
// Generates a class for each sprited image.
|
96
|
-
@mixin all-#{name}-sprites($dimensions: $#{name}-sprite-dimensions) {
|
97
|
-
@include #{name}-sprites(#{images.join(" ")}, $dimensions);
|
96
|
+
@mixin all-#{name}-sprites($dimensions: $#{name}-sprite-dimensions, $prefix: sprite-map-name($#{name}-sprites)) {
|
97
|
+
@include #{name}-sprites(#{images.join(" ")}, $dimensions, $prefix);
|
98
98
|
}
|
99
99
|
SCSS
|
100
100
|
end
|
@@ -315,53 +315,53 @@ caption {
|
|
315
315
|
margin: 0; }
|
316
316
|
|
317
317
|
input.span-1, textarea.span-1, select.span-1 {
|
318
|
-
width: 30px
|
318
|
+
width: 30px; }
|
319
319
|
input.span-2, textarea.span-2, select.span-2 {
|
320
|
-
width: 70px
|
320
|
+
width: 70px; }
|
321
321
|
input.span-3, textarea.span-3, select.span-3 {
|
322
|
-
width: 110px
|
322
|
+
width: 110px; }
|
323
323
|
input.span-4, textarea.span-4, select.span-4 {
|
324
|
-
width: 150px
|
324
|
+
width: 150px; }
|
325
325
|
input.span-5, textarea.span-5, select.span-5 {
|
326
|
-
width: 190px
|
326
|
+
width: 190px; }
|
327
327
|
input.span-6, textarea.span-6, select.span-6 {
|
328
|
-
width: 230px
|
328
|
+
width: 230px; }
|
329
329
|
input.span-7, textarea.span-7, select.span-7 {
|
330
|
-
width: 270px
|
330
|
+
width: 270px; }
|
331
331
|
input.span-8, textarea.span-8, select.span-8 {
|
332
|
-
width: 310px
|
332
|
+
width: 310px; }
|
333
333
|
input.span-9, textarea.span-9, select.span-9 {
|
334
|
-
width: 350px
|
334
|
+
width: 350px; }
|
335
335
|
input.span-10, textarea.span-10, select.span-10 {
|
336
|
-
width: 390px
|
336
|
+
width: 390px; }
|
337
337
|
input.span-11, textarea.span-11, select.span-11 {
|
338
|
-
width: 430px
|
338
|
+
width: 430px; }
|
339
339
|
input.span-12, textarea.span-12, select.span-12 {
|
340
|
-
width: 470px
|
340
|
+
width: 470px; }
|
341
341
|
input.span-13, textarea.span-13, select.span-13 {
|
342
|
-
width: 510px
|
342
|
+
width: 510px; }
|
343
343
|
input.span-14, textarea.span-14, select.span-14 {
|
344
|
-
width: 550px
|
344
|
+
width: 550px; }
|
345
345
|
input.span-15, textarea.span-15, select.span-15 {
|
346
|
-
width: 590px
|
346
|
+
width: 590px; }
|
347
347
|
input.span-16, textarea.span-16, select.span-16 {
|
348
|
-
width: 630px
|
348
|
+
width: 630px; }
|
349
349
|
input.span-17, textarea.span-17, select.span-17 {
|
350
|
-
width: 670px
|
350
|
+
width: 670px; }
|
351
351
|
input.span-18, textarea.span-18, select.span-18 {
|
352
|
-
width: 710px
|
352
|
+
width: 710px; }
|
353
353
|
input.span-19, textarea.span-19, select.span-19 {
|
354
|
-
width: 750px
|
354
|
+
width: 750px; }
|
355
355
|
input.span-20, textarea.span-20, select.span-20 {
|
356
|
-
width: 790px
|
356
|
+
width: 790px; }
|
357
357
|
input.span-21, textarea.span-21, select.span-21 {
|
358
|
-
width: 830px
|
358
|
+
width: 830px; }
|
359
359
|
input.span-22, textarea.span-22, select.span-22 {
|
360
|
-
width: 870px
|
360
|
+
width: 870px; }
|
361
361
|
input.span-23, textarea.span-23, select.span-23 {
|
362
|
-
width: 910px
|
362
|
+
width: 910px; }
|
363
363
|
input.span-24, textarea.span-24, select.span-24 {
|
364
|
-
width: 950px
|
364
|
+
width: 950px; }
|
365
365
|
|
366
366
|
.append-1 {
|
367
367
|
padding-right: 40px; }
|
@@ -88,53 +88,53 @@
|
|
88
88
|
margin: 0; }
|
89
89
|
|
90
90
|
input.span-1, textarea.span-1, select.span-1 {
|
91
|
-
width: 30px
|
91
|
+
width: 30px; }
|
92
92
|
input.span-2, textarea.span-2, select.span-2 {
|
93
|
-
width: 70px
|
93
|
+
width: 70px; }
|
94
94
|
input.span-3, textarea.span-3, select.span-3 {
|
95
|
-
width: 110px
|
95
|
+
width: 110px; }
|
96
96
|
input.span-4, textarea.span-4, select.span-4 {
|
97
|
-
width: 150px
|
97
|
+
width: 150px; }
|
98
98
|
input.span-5, textarea.span-5, select.span-5 {
|
99
|
-
width: 190px
|
99
|
+
width: 190px; }
|
100
100
|
input.span-6, textarea.span-6, select.span-6 {
|
101
|
-
width: 230px
|
101
|
+
width: 230px; }
|
102
102
|
input.span-7, textarea.span-7, select.span-7 {
|
103
|
-
width: 270px
|
103
|
+
width: 270px; }
|
104
104
|
input.span-8, textarea.span-8, select.span-8 {
|
105
|
-
width: 310px
|
105
|
+
width: 310px; }
|
106
106
|
input.span-9, textarea.span-9, select.span-9 {
|
107
|
-
width: 350px
|
107
|
+
width: 350px; }
|
108
108
|
input.span-10, textarea.span-10, select.span-10 {
|
109
|
-
width: 390px
|
109
|
+
width: 390px; }
|
110
110
|
input.span-11, textarea.span-11, select.span-11 {
|
111
|
-
width: 430px
|
111
|
+
width: 430px; }
|
112
112
|
input.span-12, textarea.span-12, select.span-12 {
|
113
|
-
width: 470px
|
113
|
+
width: 470px; }
|
114
114
|
input.span-13, textarea.span-13, select.span-13 {
|
115
|
-
width: 510px
|
115
|
+
width: 510px; }
|
116
116
|
input.span-14, textarea.span-14, select.span-14 {
|
117
|
-
width: 550px
|
117
|
+
width: 550px; }
|
118
118
|
input.span-15, textarea.span-15, select.span-15 {
|
119
|
-
width: 590px
|
119
|
+
width: 590px; }
|
120
120
|
input.span-16, textarea.span-16, select.span-16 {
|
121
|
-
width: 630px
|
121
|
+
width: 630px; }
|
122
122
|
input.span-17, textarea.span-17, select.span-17 {
|
123
|
-
width: 670px
|
123
|
+
width: 670px; }
|
124
124
|
input.span-18, textarea.span-18, select.span-18 {
|
125
|
-
width: 710px
|
125
|
+
width: 710px; }
|
126
126
|
input.span-19, textarea.span-19, select.span-19 {
|
127
|
-
width: 750px
|
127
|
+
width: 750px; }
|
128
128
|
input.span-20, textarea.span-20, select.span-20 {
|
129
|
-
width: 790px
|
129
|
+
width: 790px; }
|
130
130
|
input.span-21, textarea.span-21, select.span-21 {
|
131
|
-
width: 830px
|
131
|
+
width: 830px; }
|
132
132
|
input.span-22, textarea.span-22, select.span-22 {
|
133
|
-
width: 870px
|
133
|
+
width: 870px; }
|
134
134
|
input.span-23, textarea.span-23, select.span-23 {
|
135
|
-
width: 910px
|
135
|
+
width: 910px; }
|
136
136
|
input.span-24, textarea.span-24, select.span-24 {
|
137
|
-
width: 950px
|
137
|
+
width: 950px; }
|
138
138
|
|
139
139
|
.append-1 {
|
140
140
|
padding-right: 40px; }
|
@@ -90,53 +90,53 @@
|
|
90
90
|
margin: 0; }
|
91
91
|
|
92
92
|
input.span-1, textarea.span-1, select.span-1 {
|
93
|
-
width: 30px
|
93
|
+
width: 30px; }
|
94
94
|
input.span-2, textarea.span-2, select.span-2 {
|
95
|
-
width: 70px
|
95
|
+
width: 70px; }
|
96
96
|
input.span-3, textarea.span-3, select.span-3 {
|
97
|
-
width: 110px
|
97
|
+
width: 110px; }
|
98
98
|
input.span-4, textarea.span-4, select.span-4 {
|
99
|
-
width: 150px
|
99
|
+
width: 150px; }
|
100
100
|
input.span-5, textarea.span-5, select.span-5 {
|
101
|
-
width: 190px
|
101
|
+
width: 190px; }
|
102
102
|
input.span-6, textarea.span-6, select.span-6 {
|
103
|
-
width: 230px
|
103
|
+
width: 230px; }
|
104
104
|
input.span-7, textarea.span-7, select.span-7 {
|
105
|
-
width: 270px
|
105
|
+
width: 270px; }
|
106
106
|
input.span-8, textarea.span-8, select.span-8 {
|
107
|
-
width: 310px
|
107
|
+
width: 310px; }
|
108
108
|
input.span-9, textarea.span-9, select.span-9 {
|
109
|
-
width: 350px
|
109
|
+
width: 350px; }
|
110
110
|
input.span-10, textarea.span-10, select.span-10 {
|
111
|
-
width: 390px
|
111
|
+
width: 390px; }
|
112
112
|
input.span-11, textarea.span-11, select.span-11 {
|
113
|
-
width: 430px
|
113
|
+
width: 430px; }
|
114
114
|
input.span-12, textarea.span-12, select.span-12 {
|
115
|
-
width: 470px
|
115
|
+
width: 470px; }
|
116
116
|
input.span-13, textarea.span-13, select.span-13 {
|
117
|
-
width: 510px
|
117
|
+
width: 510px; }
|
118
118
|
input.span-14, textarea.span-14, select.span-14 {
|
119
|
-
width: 550px
|
119
|
+
width: 550px; }
|
120
120
|
input.span-15, textarea.span-15, select.span-15 {
|
121
|
-
width: 590px
|
121
|
+
width: 590px; }
|
122
122
|
input.span-16, textarea.span-16, select.span-16 {
|
123
|
-
width: 630px
|
123
|
+
width: 630px; }
|
124
124
|
input.span-17, textarea.span-17, select.span-17 {
|
125
|
-
width: 670px
|
125
|
+
width: 670px; }
|
126
126
|
input.span-18, textarea.span-18, select.span-18 {
|
127
|
-
width: 710px
|
127
|
+
width: 710px; }
|
128
128
|
input.span-19, textarea.span-19, select.span-19 {
|
129
|
-
width: 750px
|
129
|
+
width: 750px; }
|
130
130
|
input.span-20, textarea.span-20, select.span-20 {
|
131
|
-
width: 790px
|
131
|
+
width: 790px; }
|
132
132
|
input.span-21, textarea.span-21, select.span-21 {
|
133
|
-
width: 830px
|
133
|
+
width: 830px; }
|
134
134
|
input.span-22, textarea.span-22, select.span-22 {
|
135
|
-
width: 870px
|
135
|
+
width: 870px; }
|
136
136
|
input.span-23, textarea.span-23, select.span-23 {
|
137
|
-
width: 910px
|
137
|
+
width: 910px; }
|
138
138
|
input.span-24, textarea.span-24, select.span-24 {
|
139
|
-
width: 950px
|
139
|
+
width: 950px; }
|
140
140
|
|
141
141
|
.append-1 {
|
142
142
|
padding-left: 40px; }
|