bourbon 5.0.0.alpha.0 → 5.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.npmignore +1 -1
- data/.scss-lint.yml +223 -2
- data/Gemfile +1 -1
- data/LICENSE.md +1 -1
- data/NEWS.md +71 -0
- data/README.md +43 -24
- data/RELEASING.md +27 -0
- data/Rakefile +0 -2
- data/bin/bourbon +1 -2
- data/bourbon.gemspec +33 -24
- data/bower.json +3 -2
- data/circle.yml +7 -0
- data/core/_bourbon.scss +10 -11
- data/core/bourbon/addons/_border-color.scss +14 -15
- data/core/bourbon/addons/_border-radius.scss +17 -18
- data/core/bourbon/addons/_border-style.scss +13 -14
- data/core/bourbon/addons/_border-width.scss +13 -14
- data/core/bourbon/addons/_buttons.scss +48 -49
- data/core/bourbon/addons/_clearfix.scss +10 -10
- data/core/bourbon/addons/_contrast-switch.scss +47 -0
- data/core/bourbon/addons/_ellipsis.scss +22 -15
- data/core/bourbon/addons/_font-face.scss +60 -0
- data/core/bourbon/addons/_font-stacks.scss +77 -9
- data/core/bourbon/addons/_hide-text.scss +10 -9
- data/core/bourbon/addons/_hide-visually.scss +65 -0
- data/core/bourbon/addons/_margin.scss +14 -15
- data/core/bourbon/addons/_modular-scale.scss +113 -0
- data/core/bourbon/addons/_padding.scss +14 -15
- data/core/bourbon/addons/_position.scss +24 -19
- data/core/bourbon/addons/_prefixer.scss +20 -15
- data/core/bourbon/addons/_size.scss +24 -20
- data/core/bourbon/addons/_text-inputs.scss +106 -104
- data/core/bourbon/addons/_timing-functions.scss +2 -2
- data/core/bourbon/addons/_word-wrap.scss +10 -10
- data/core/bourbon/functions/_assign-inputs.scss +11 -7
- data/core/bourbon/functions/_collapse-directionals.scss +51 -0
- data/core/bourbon/functions/_contains-falsy.scss +5 -5
- data/core/bourbon/functions/_contains.scss +11 -7
- data/core/bourbon/{helpers → functions}/_font-source-declaration.scss +26 -17
- data/core/bourbon/functions/_is-length.scss +3 -3
- data/core/bourbon/functions/_is-light.scss +2 -2
- data/core/bourbon/functions/_is-number.scss +5 -5
- data/core/bourbon/functions/_is-size.scss +7 -7
- data/core/bourbon/functions/_shade.scss +14 -10
- data/core/bourbon/functions/_strip-unit.scss +3 -3
- data/core/bourbon/functions/_tint.scss +14 -10
- data/core/bourbon/functions/_unpack.scss +10 -10
- data/core/bourbon/helpers/_directional-values.scss +19 -59
- data/core/bourbon/settings/_bourbon-get-setting.scss +14 -0
- data/core/bourbon/settings/_scales.scss +1 -1
- data/core/bourbon/settings/_settings.scss +33 -0
- data/eyeglass-exports.js +7 -0
- data/features/step_definitions/bourbon_steps.rb +6 -1
- data/index.js +2 -2
- data/lib/bourbon.rb +2 -10
- data/lib/bourbon/generator.rb +8 -8
- data/lib/bourbon/version.rb +1 -1
- data/package.json +6 -1
- data/spec/bourbon/addons/border_color_spec.rb +7 -7
- data/spec/bourbon/addons/buttons_spec.rb +3 -3
- data/spec/bourbon/addons/clearfix_spec.rb +2 -2
- data/spec/bourbon/addons/contrast_switch_spec.rb +23 -0
- data/spec/bourbon/{css3 → addons}/font_face_spec_1.rb +0 -2
- data/spec/bourbon/addons/font_face_spec_2.rb +21 -0
- data/spec/bourbon/{css3 → addons}/font_face_spec_3.rb +2 -4
- data/spec/bourbon/{css3 → addons}/font_face_spec_4.rb +0 -2
- data/spec/bourbon/addons/font_stacks_spec.rb +6 -1
- data/spec/bourbon/addons/hide_visually_spec.rb +35 -0
- data/spec/bourbon/{functions → addons}/modular_scale_spec.rb +6 -6
- data/spec/bourbon/addons/text_inputs_spec.rb +24 -14
- data/spec/bourbon/functions/assign_inputs_spec.rb +6 -6
- data/spec/bourbon/functions/collapse_directionals.rb +25 -0
- data/spec/bourbon/{helpers → functions}/font_source_declaration_spec.rb +1 -1
- data/spec/bourbon/helpers/directional_values_spec.rb +1 -19
- data/spec/bourbon/settings/bourbon_get_setting_spec.rb +31 -0
- data/spec/fixtures/addons/border-color.scss +4 -4
- data/spec/fixtures/addons/contrast-switch.scss +9 -0
- data/spec/fixtures/addons/font-face-1.scss +6 -0
- data/spec/fixtures/addons/font-face-2.scss +10 -0
- data/spec/fixtures/addons/font-face-3.scss +8 -0
- data/spec/fixtures/addons/font-face-4.scss +7 -0
- data/spec/fixtures/addons/font-stacks.scss +13 -9
- data/spec/fixtures/addons/hide-visually.scss +9 -0
- data/spec/fixtures/{functions → addons}/modular-scale.scss +0 -0
- data/spec/fixtures/addons/text-inputs.scss +4 -0
- data/spec/fixtures/functions/assign-inputs.scss +8 -8
- data/spec/fixtures/functions/collapse-directionals.scss +17 -0
- data/spec/fixtures/functions/contains.scss +1 -1
- data/spec/fixtures/functions/font-source-declaration.scss +11 -0
- data/spec/fixtures/functions/is-length.scss +1 -1
- data/spec/fixtures/functions/is-light.scss +2 -2
- data/spec/fixtures/functions/is-number.scss +1 -1
- data/spec/fixtures/functions/is-size.scss +1 -1
- data/spec/fixtures/functions/shade.scss +1 -1
- data/spec/fixtures/functions/tint.scss +1 -1
- data/spec/fixtures/functions/unpack.scss +4 -4
- data/spec/fixtures/helpers/directional-values.scss +3 -19
- data/spec/fixtures/settings/bourbon-get-setting.scss +16 -0
- data/spec/support/matchers/have_value.rb +1 -1
- metadata +88 -78
- data/.travis.yml +0 -8
- data/core/bourbon/_bourbon-deprecated.scss +0 -1
- data/core/bourbon/css3/_font-face.scss +0 -50
- data/core/bourbon/functions/_modular-scale.scss +0 -101
- data/core/bourbon/settings/_asset-pipeline.scss +0 -7
- data/core/bourbon/settings/_global-font-file-formats.scss +0 -12
- data/core/bourbon/settings/_modular-scale.scss +0 -17
- data/spec/bourbon/css3/font_face_spec_2.rb +0 -19
- data/spec/fixtures/css3/font-face-1.scss +0 -3
- data/spec/fixtures/css3/font-face-2.scss +0 -3
- data/spec/fixtures/css3/font-face-3.scss +0 -3
- data/spec/fixtures/css3/font-face-4.scss +0 -3
- data/spec/fixtures/helpers/font-source-declaration.scss +0 -10
- data/spec/support/matchers/be_contained_in.rb +0 -10
@@ -5,20 +5,20 @@ describe "text-inputs" do
|
|
5
5
|
ParserSupport.parse_file("addons/text-inputs")
|
6
6
|
|
7
7
|
@inputs_list = %w(
|
8
|
-
[type=
|
9
|
-
[type=
|
10
|
-
[type=
|
11
|
-
[type=
|
12
|
-
[type=
|
13
|
-
[type=
|
14
|
-
[type=
|
15
|
-
[type=
|
16
|
-
[type=
|
17
|
-
[type=
|
18
|
-
[type=
|
19
|
-
[type=
|
20
|
-
[type=
|
21
|
-
[type=
|
8
|
+
[type='color']
|
9
|
+
[type='date']
|
10
|
+
[type='datetime']
|
11
|
+
[type='datetime-local']
|
12
|
+
[type='email']
|
13
|
+
[type='month']
|
14
|
+
[type='number']
|
15
|
+
[type='password']
|
16
|
+
[type='search']
|
17
|
+
[type='tel']
|
18
|
+
[type='text']
|
19
|
+
[type='time']
|
20
|
+
[type='url']
|
21
|
+
[type='week']
|
22
22
|
input:not([type])
|
23
23
|
textarea
|
24
24
|
)
|
@@ -62,4 +62,14 @@ describe "text-inputs" do
|
|
62
62
|
expect(".all-text-inputs-hover").to have_ruleset(ruleset)
|
63
63
|
end
|
64
64
|
end
|
65
|
+
|
66
|
+
context "expands invalid text inputs" do
|
67
|
+
it "finds selectors" do
|
68
|
+
list = @inputs_list.map { |input| "#{input}:invalid" }
|
69
|
+
list = list.join(", ")
|
70
|
+
ruleset = "content: #{list};"
|
71
|
+
|
72
|
+
expect(".all-text-inputs-invalid").to have_ruleset(ruleset)
|
73
|
+
end
|
74
|
+
end
|
65
75
|
end
|
@@ -4,8 +4,8 @@ describe "assign-inputs" do
|
|
4
4
|
before(:all) do
|
5
5
|
ParserSupport.parse_file("functions/assign-inputs")
|
6
6
|
@text_inputs_list = [
|
7
|
-
"[type
|
8
|
-
"[type
|
7
|
+
"[type='password']",
|
8
|
+
"[type='text']",
|
9
9
|
"textarea"
|
10
10
|
]
|
11
11
|
end
|
@@ -13,7 +13,7 @@ describe "assign-inputs" do
|
|
13
13
|
context "expands plain text inputs" do
|
14
14
|
it "finds selectors" do
|
15
15
|
@text_inputs_list.each do |input|
|
16
|
-
expect(input).to have_rule("color: #
|
16
|
+
expect(input).to have_rule("color: #f00")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -23,7 +23,7 @@ describe "assign-inputs" do
|
|
23
23
|
list = @text_inputs_list.dup
|
24
24
|
list.map! { |input| input + ":active" }
|
25
25
|
list.each do |input|
|
26
|
-
expect(input).to have_rule("color: #
|
26
|
+
expect(input).to have_rule("color: #0f0")
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -33,7 +33,7 @@ describe "assign-inputs" do
|
|
33
33
|
list = @text_inputs_list.dup
|
34
34
|
list.push "select"
|
35
35
|
list.each do |input|
|
36
|
-
expect(input).to have_rule("color: #
|
36
|
+
expect(input).to have_rule("color: #00f")
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -43,7 +43,7 @@ describe "assign-inputs" do
|
|
43
43
|
list = @text_inputs_list.dup
|
44
44
|
list.unshift "[type=\"file\"]"
|
45
45
|
list.each do |input|
|
46
|
-
expect(input).to have_rule("color: #
|
46
|
+
expect(input).to have_rule("color: #f0f")
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "collapse-directionals" do
|
4
|
+
before(:all) do
|
5
|
+
ParserSupport.parse_file("functions/collapse-directionals")
|
6
|
+
end
|
7
|
+
|
8
|
+
context "collapse-directionals" do
|
9
|
+
it "returns four distinct lengths unaltered" do
|
10
|
+
expect(".four").to have_rule("padding: 10px 20px 30px 40px")
|
11
|
+
end
|
12
|
+
|
13
|
+
it "returns collapsed horizontal lengths" do
|
14
|
+
expect(".three").to have_rule("padding: 5px 10px 5px 20px")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "returns collapsed vertical and horizontal lengths" do
|
18
|
+
expect(".two").to have_rule("padding: 50px 100px")
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns collapsed lengths when all match" do
|
22
|
+
expect(".one").to have_rule("padding: 10px")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -5,24 +5,6 @@ describe "directional-values" do
|
|
5
5
|
ParserSupport.parse_file("helpers/directional-values")
|
6
6
|
end
|
7
7
|
|
8
|
-
context "collapse-directionals" do
|
9
|
-
it "returns four distinct lengths unaltered" do
|
10
|
-
expect(".four").to have_rule("padding: 10px 20px 30px 40px")
|
11
|
-
end
|
12
|
-
|
13
|
-
it "returns collapsed horizontal lengths" do
|
14
|
-
expect(".three").to have_rule("padding: 5px 10px 5px 20px")
|
15
|
-
end
|
16
|
-
|
17
|
-
it "returns collapsed vertical and horizontal lengths" do
|
18
|
-
expect(".two").to have_rule("padding: 50px 100px")
|
19
|
-
end
|
20
|
-
|
21
|
-
it "returns collapsed lengths when all match" do
|
22
|
-
expect(".one").to have_rule("padding: 10px")
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
8
|
context "directional-property" do
|
27
9
|
it "returns property and values with four distinct lengths" do
|
28
10
|
expect(".border-all").to have_rule("border-width: 2px 5px 8px 12px")
|
@@ -33,7 +15,7 @@ describe "directional-values" do
|
|
33
15
|
end
|
34
16
|
|
35
17
|
it "returns property and value with vertical and horizontal values" do
|
36
|
-
expect(".border-color").to have_rule("border-color: #
|
18
|
+
expect(".border-color").to have_rule("border-color: #fff #000")
|
37
19
|
end
|
38
20
|
end
|
39
21
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "_bourbon-get-setting" do
|
4
|
+
before(:all) do
|
5
|
+
ParserSupport.parse_file("settings/bourbon-get-setting")
|
6
|
+
end
|
7
|
+
|
8
|
+
context "gets the modular-scale-base setting" do
|
9
|
+
it "and returns the default value" do
|
10
|
+
expect(".test-1").to have_rule("content: 1em")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context "gets the rails-asset-pipeline setting" do
|
15
|
+
it "and returns the user-overridden value" do
|
16
|
+
expect(".test-2").to have_rule("content: true")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "called from the font-face mixin" do
|
21
|
+
it "outputs user-overridden font file formats" do
|
22
|
+
ruleset = 'font-family: "source-sans-pro"; ' +
|
23
|
+
'src: font-url("source-sans-pro-regular.woff2") ' +
|
24
|
+
'format("woff2"), ' +
|
25
|
+
'font-url("source-sans-pro-regular.woff") ' +
|
26
|
+
'format("woff");'
|
27
|
+
|
28
|
+
expect("@font-face").to have_ruleset(ruleset)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,37 +1,41 @@
|
|
1
1
|
@import "setup";
|
2
2
|
|
3
3
|
.helvetica {
|
4
|
-
content: $helvetica;
|
4
|
+
content: $font-stack-helvetica;
|
5
5
|
}
|
6
6
|
|
7
7
|
.lucida-grande {
|
8
|
-
content: $lucida-grande;
|
8
|
+
content: $font-stack-lucida-grande;
|
9
9
|
}
|
10
10
|
|
11
11
|
.verdana {
|
12
|
-
content: $verdana;
|
12
|
+
content: $font-stack-verdana;
|
13
13
|
}
|
14
14
|
|
15
15
|
.garamond {
|
16
|
-
content: $garamond;
|
16
|
+
content: $font-stack-garamond;
|
17
17
|
}
|
18
18
|
|
19
19
|
.georgia {
|
20
|
-
content: $georgia;
|
20
|
+
content: $font-stack-georgia;
|
21
21
|
}
|
22
22
|
|
23
23
|
.hoefler-text {
|
24
|
-
content: $hoefler-text;
|
24
|
+
content: $font-stack-hoefler-text;
|
25
25
|
}
|
26
26
|
|
27
27
|
.consolas {
|
28
|
-
content: $consolas;
|
28
|
+
content: $font-stack-consolas;
|
29
29
|
}
|
30
30
|
|
31
31
|
.courier-new {
|
32
|
-
content: $courier-new;
|
32
|
+
content: $font-stack-courier-new;
|
33
33
|
}
|
34
34
|
|
35
35
|
.monaco {
|
36
|
-
content: $monaco;
|
36
|
+
content: $font-stack-monaco;
|
37
|
+
}
|
38
|
+
|
39
|
+
.system {
|
40
|
+
content: $font-stack-system;
|
37
41
|
}
|
File without changes
|
@@ -1,19 +1,19 @@
|
|
1
1
|
@import "setup";
|
2
2
|
|
3
|
-
#{
|
4
|
-
color: #
|
3
|
+
#{_assign-inputs($text-inputs-list)} {
|
4
|
+
color: #f00;
|
5
5
|
}
|
6
6
|
|
7
|
-
#{
|
8
|
-
color: #
|
7
|
+
#{_assign-inputs($text-inputs-list, active)} {
|
8
|
+
color: #0f0;
|
9
9
|
}
|
10
10
|
|
11
|
-
#{
|
11
|
+
#{_assign-inputs($text-inputs-list)},
|
12
12
|
select {
|
13
|
-
color: #
|
13
|
+
color: #00f;
|
14
14
|
}
|
15
15
|
|
16
16
|
[type="file"],
|
17
|
-
#{
|
18
|
-
color: #
|
17
|
+
#{_assign-inputs($text-inputs-list)} {
|
18
|
+
color: #f0f;
|
19
19
|
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
@import "setup";
|
2
|
+
|
3
|
+
.four {
|
4
|
+
padding: _collapse-directionals(10px 20px 30px 40px);
|
5
|
+
}
|
6
|
+
|
7
|
+
.three {
|
8
|
+
padding: _collapse-directionals(5px 10px 5px 20px);
|
9
|
+
}
|
10
|
+
|
11
|
+
.two {
|
12
|
+
padding: _collapse-directionals(50px 100px 50px 100px);
|
13
|
+
}
|
14
|
+
|
15
|
+
.one {
|
16
|
+
padding: _collapse-directionals(10px 10px 10px 10px);
|
17
|
+
}
|