neat 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5bdefb64cec2e270e681c122c86cb3c428b93ae3
4
+ data.tar.gz: 23f6315428bb85162b9ed54f7b96b95e16f659a6
5
+ SHA512:
6
+ metadata.gz: 4f18d2d97a9b7ccb34366f6d6af3defacbcc1df94602f62c70db60ec26498636939e2d9a28fd7289b5906437b96d8712ced5ccf5d4c58a1d0e9c8b5fe20f4b69
7
+ data.tar.gz: 88ece79f10a6a0a72daabdce203ac49bf930706b5abf92afd087313468b8e41e6ed83ae3f6425ef2a47aace49bf87f866d7a839e78c35bd0c6c76843ede5ad5f
data/NEWS.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 1.3.0 (2013-05-03)
2
+
3
+ * New: Add global RTL layout support
4
+ * New: Add row-specific RTL layout support
5
+ * New: Add auto-clearing for elements using `omega(nth-child)` (works only with simple nth-child arguments due to limited string operations in Sass)
6
+ * Fix: The visual grid no longer blocks user interactions
7
+ * Deprecate: `omega()` will no longer take `$direction` in favor of `row($direction)` or `$default-layout-direction`
8
+
1
9
  ### 1.2.1 (2013-04-04)
2
10
 
3
11
  * New: Add stylesheets path to Sass.load_paths
data/README.md CHANGED
@@ -166,16 +166,13 @@ Browser support
166
166
  - IE 9+ (Visual grid is IE10 only)
167
167
  - IE 8 with [selectivizr](http://selectivizr.com) (no `media()` support)
168
168
 
169
- Documentation
169
+ Links
170
170
  ===
171
171
 
172
172
  - [Online documentation](http://neat.bourbon.io/docs/)
173
173
  - [Docset feed](http://neat.bourbon.io/docset/Neat.xml) for Dash 1.8+ (Preferences **>** Downloads **>** + *Add Docset Feed*)
174
-
175
- Roadmap
176
- ===
177
-
178
- The development roadmap can be tracked on this public [Trello board](http://bit.ly/neat-trello).
174
+ - [Changelog](https://github.com/thoughtbot/neat/wiki/Changelog)
175
+ - [Roadmap Trello board](http://bit.ly/neat-trello)
179
176
 
180
177
  Credits
181
178
  ===
@@ -6,7 +6,8 @@
6
6
  @import "neat-helpers";
7
7
 
8
8
  // Grid
9
- @import "grid/global-variables";
9
+ @import "grid/private";
10
+ @import "grid/reset";
10
11
  @import "grid/grid";
11
12
  @import "grid/omega";
12
13
  @import "grid/outer-container";
@@ -70,3 +70,38 @@
70
70
 
71
71
  @return $values;
72
72
  }
73
+
74
+ // Layout direction
75
+ @function get-direction($layout, $default) {
76
+ $direction: nil;
77
+
78
+ @if $layout == LTR or $layout == RTL {
79
+ $direction: direction-from-layout($layout);
80
+ } @else {
81
+ $direction: direction-from-layout($default);
82
+ }
83
+
84
+ @return $direction;
85
+ }
86
+
87
+ @function direction-from-layout($layout) {
88
+ $direction: nil;
89
+
90
+ @if $layout == LTR {
91
+ $direction: right;
92
+ } @else {
93
+ $direction: left;
94
+ }
95
+
96
+ @return $direction;
97
+ }
98
+
99
+ @function get-opposite-direction($direction) {
100
+ $opposite-direction: left;
101
+
102
+ @if $direction == left {
103
+ $opposite-direction: right;
104
+ }
105
+
106
+ @return $opposite-direction;
107
+ }
@@ -1,8 +1,14 @@
1
1
  // Remove last element gutter
2
- @mixin omega($query: block, $direction: right) {
2
+ @mixin omega($query: block, $direction: default) {
3
3
  $table: if(belongs-to(table, $query), true, false);
4
4
  $auto: if(belongs-to(auto, $query), true, false);
5
5
 
6
+ @if $direction != default {
7
+ @warn "The omega mixin will no longer take a $direction argument. To change the layout direction, use row($direction) or set $default-layout-direction instead."
8
+ } @else {
9
+ $direction: get-direction($layout-direction, $default-layout-direction);
10
+ }
11
+
6
12
  @if length($query) == 1 {
7
13
  @if $auto {
8
14
  &:last-child {
@@ -21,9 +27,7 @@
21
27
  }
22
28
 
23
29
  @else {
24
- &:nth-child(#{$query}) {
25
- margin-#{$direction}: 0;
26
- }
30
+ @include nth-child($query, $direction);
27
31
  }
28
32
  }
29
33
 
@@ -50,9 +54,7 @@
50
54
  }
51
55
 
52
56
  @else {
53
- &:nth-child(#{nth($query, 1)}) {
54
- margin-#{$direction}: 0;
55
- }
57
+ @include nth-child(nth($query, 1), $direction);
56
58
  }
57
59
  }
58
60
  }
@@ -62,7 +64,16 @@
62
64
  }
63
65
  }
64
66
 
65
- @mixin nth-omega($nth, $display: block, $direction: right) {
66
- @warn "The nth-omega() mixin is deprecated. Please use omega() instead.";
67
- @include omega($nth $display, $direction);
67
+ @mixin nth-child($query, $direction) {
68
+ $opposite-direction: get-opposite-direction($direction);
69
+
70
+ &:nth-child(#{$query}) {
71
+ margin-#{$direction}: 0;
72
+ }
73
+
74
+ @if type-of($query) == number {
75
+ &:nth-child(#{$query}+1) {
76
+ clear: $opposite-direction;
77
+ }
78
+ }
68
79
  }
@@ -0,0 +1,21 @@
1
+ $parent-columns: $grid-columns !default;
2
+ $fg-column: $column;
3
+ $fg-gutter: $gutter;
4
+ $fg-max-columns: $grid-columns;
5
+ $container-display-table: false !default;
6
+ $layout-direction: nil !default;
7
+
8
+ @function flex-grid($columns, $container-columns: $fg-max-columns) {
9
+ $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
10
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
11
+ @return percentage($width / $container-width);
12
+ }
13
+
14
+ @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
15
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
16
+ @return percentage($gutter / $container-width);
17
+ }
18
+
19
+ @function grid-width($n) {
20
+ @return $n * $gw-column + ($n - 1) * $gw-gutter;
21
+ }
@@ -0,0 +1,12 @@
1
+ @mixin reset-display {
2
+ $container-display-table: false;
3
+ }
4
+
5
+ @mixin reset-layout-direction {
6
+ $layout-direction: $default-layout-direction;
7
+ }
8
+
9
+ @mixin reset-all {
10
+ @include reset-display;
11
+ @include reset-layout-direction;
12
+ }
@@ -1,5 +1,6 @@
1
- @mixin row($display: block) {
1
+ @mixin row($display: block, $direction: $default-layout-direction) {
2
2
  @include clearfix;
3
+ $layout-direction: $direction;
3
4
 
4
5
  @if $display == table {
5
6
  display: table;
@@ -14,6 +15,3 @@
14
15
  }
15
16
  }
16
17
 
17
- @mixin reset-display {
18
- $container-display-table: false;
19
- }
@@ -1,5 +1,9 @@
1
1
  @mixin shift($n-columns: 1) {
2
- margin-left: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns);
2
+
3
+ $direction: get-direction($layout-direction, $default-layout-direction);
4
+ $opposite-direction: get-opposite-direction($direction);
5
+
6
+ margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns);
3
7
 
4
8
  // Reset nesting context
5
9
  $parent-columns: $grid-columns;
@@ -4,55 +4,42 @@
4
4
  $container-columns: container-span($span);
5
5
  $display-table: false;
6
6
 
7
+ $direction: get-direction($layout-direction, $default-layout-direction);
8
+ $opposite-direction: get-opposite-direction($direction);
9
+
7
10
  @if $container-columns != $grid-columns {
8
11
  $parent-columns: $container-columns;
9
- }
10
-
11
- @else {
12
+ } @else {
12
13
  $parent-columns: $grid-columns;
13
14
  }
14
15
 
15
16
  @if $container-display-table == true {
16
17
  $display-table: true;
17
- }
18
-
19
- @else if $display == table {
18
+ } @else if $display == table {
20
19
  $display-table: true;
21
- }
22
-
23
- @else {
20
+ } @else {
24
21
  $display-table: false;
25
22
  }
26
23
 
27
24
  @if $display-table {
28
25
  display: table-cell;
29
- padding-right: flex-gutter($container-columns);
26
+ padding-#{$direction}: flex-gutter($container-columns);
30
27
  width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);
31
28
 
32
29
  &:last-child {
33
30
  width: flex-grid($columns, $container-columns);
34
- padding-right: 0;
35
- }
36
- }
37
-
38
- @else if $display == inline-block {
39
- @include inline-block;
40
- margin-right: flex-gutter($container-columns);
41
- width: flex-grid($columns, $container-columns);
42
-
43
- &:last-child {
44
- margin-right: 0;
31
+ padding-#{$direction}: 0;
45
32
  }
46
33
  }
47
34
 
48
35
  @else {
49
36
  display: block;
50
- float: left;
51
- margin-right: flex-gutter($container-columns);
37
+ float: #{$opposite-direction};
38
+ margin-#{$direction}: flex-gutter($container-columns);
52
39
  width: flex-grid($columns, $container-columns);
53
40
 
54
41
  &:last-child {
55
- margin-right: 0;
42
+ margin-#{$direction}: 0;
56
43
  }
57
44
  }
58
45
  }
@@ -50,3 +50,8 @@
50
50
  @warn "Wrong number of arguments for breakpoint(). Read the documentation for more details.";
51
51
  }
52
52
  }
53
+
54
+ @mixin nth-omega($nth, $display: block, $direction: default) {
55
+ @warn "The nth-omega() mixin is deprecated. Please use omega() instead.";
56
+ @include omega($nth $display, $direction);
57
+ }
@@ -20,6 +20,7 @@
20
20
  position: fixed;
21
21
  right: 0;
22
22
  width: 100%;
23
+ pointer-events: none;
23
24
 
24
25
  @if $visual-grid-index == back {
25
26
  z-index: -1;
@@ -4,3 +4,4 @@ $grid-columns: 12 !default; // Total number of columns in the grid
4
4
  $max-width: em(1088) !default; // Max-width of the outer container
5
5
  $border-box-sizing: true !default; // Makes all elements have a border-box layout
6
6
  $default-feature: min-width; // Default @media feature for the breakpoint() mixin
7
+ $default-layout-direction: LTR !default;
@@ -1,3 +1,3 @@
1
1
  module Neat
2
- VERSION = '1.2.1'
2
+ VERSION = '1.3.0'
3
3
  end
@@ -30,4 +30,5 @@ Neat is an open source grid framework built on top of Bourbon with the aim of be
30
30
  s.add_development_dependency('rspec')
31
31
  s.add_development_dependency('rdoc')
32
32
  s.add_development_dependency('bundler')
33
+ s.add_development_dependency('rb-fsevent', '~> 0.9.1')
33
34
  end
@@ -1,13 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "@include span-columns()" do
4
- let (:identifier) {"span-columns"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("span-columns")
8
6
  end
9
7
 
10
- context "with argument '6' in a twelve-column grid" do
8
+ context "with argument (6) in a twelve-column grid" do
11
9
  it "sets width in percentage" do
12
10
  expect('.span-columns-default').to have_rule('width: 48.82117%')
13
11
  end
@@ -39,7 +37,7 @@ describe "@include span-columns()" do
39
37
  end
40
38
  end
41
39
 
42
- context "with argument 'table'" do
40
+ context "with argument (table)" do
43
41
  it "sets display to table-cell" do
44
42
  expect('.span-columns-table').to have_rule('display: table-cell')
45
43
  end
@@ -52,10 +50,4 @@ describe "@include span-columns()" do
52
50
  expect('.span-columns-table:last-child').to have_rule('width: 48.82117%')
53
51
  end
54
52
  end
55
-
56
- context "with argument 'inline-block'" do
57
- it "sets display to inline-block" do
58
- expect('.span-columns-inline-block').to have_rule('display: inline-block')
59
- end
60
- end
61
53
  end
@@ -1,10 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "@include outer-container()" do
4
- let (:identifier) {"outer-container"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("outer-container")
8
6
  end
9
7
 
10
8
  it "adds clearfix" do
@@ -1,31 +1,29 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "@include media()" do
4
- let (:identifier) {"media"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("media")
8
6
  end
9
7
 
10
- context "with argument '481px'" do
8
+ context "with argument (481px)" do
11
9
  it "outputs @media screen and (min-width: 481px)" do
12
10
  expect('.media-default').to be_contained_in('screen and (min-width: 481px)')
13
11
  end
14
12
  end
15
13
 
16
- context "with argument 'max-width 480px'" do
14
+ context "with argument (max-width 480px)" do
17
15
  it "outputs @media screen and (max-width: 480px)" do
18
16
  expect('.media-max-width').to be_contained_in('screen and (max-width: 480px)')
19
17
  end
20
18
  end
21
19
 
22
- context "with argument 'min-width 320px max-width 480px'" do
20
+ context "with argument (min-width 320px max-width 480px)" do
23
21
  it "outputs @media screen and (min-width: 320px) and (max-width: 480px)" do
24
22
  expect('.media-min-max-width').to be_contained_in('screen and (min-width: 320px) and (max-width: 480px)')
25
23
  end
26
24
  end
27
25
 
28
- context "with argument '481px, 6'" do
26
+ context "with argument (481px, 6)" do
29
27
  it "outputs @media screen and (min-width: 481px)" do
30
28
  expect('.change-media-context').to be_contained_in('screen and (min-width: 481px)')
31
29
  end
@@ -35,7 +33,7 @@ describe "@include media()" do
35
33
  end
36
34
  end
37
35
 
38
- context "with shorthand argument 'max-width 480px 6'" do
36
+ context "with shorthand argument (max-width 480px 6)" do
39
37
  it "outputs @media screen and (max-width: 480px)" do
40
38
  expect('.change-media-context-shorthand').to be_contained_in('screen and (max-width: 480px)')
41
39
  end
@@ -1,18 +1,16 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "new-breakpoint()" do
4
- let (:identifier) {"new-breakpoint"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("new-breakpoint")
8
6
  end
9
7
 
10
- context "with argument 'max-width 768px 12'" do
8
+ context "with argument (max-width 768px 12)" do
11
9
  it "outputs (max-width 768px)" do
12
10
  expect('.responsive-element').to be_contained_in('screen and (max-width: 768px)')
13
11
  end
14
12
 
15
- it "adds 'max-width 768px 12' to visual grid breakpoints" do
13
+ it "adds (max-width 768px 12) to visual grid breakpoints" do
16
14
  expect('$visual-grid-breakpoints').to have_value('max-width 768px 12')
17
15
  end
18
16
  end
@@ -1,10 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "@include omega()" do
4
- let (:identifier) {"omega"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("omega")
8
6
  end
9
7
 
10
8
  context "with no argument" do
@@ -13,45 +11,57 @@ describe "@include omega()" do
13
11
  end
14
12
  end
15
13
 
16
- context "with argument 'table'" do
14
+ context "with argument (table)" do
17
15
  it "removes right padding" do
18
16
  expect('.omega-table').to have_rule('padding-right: 0')
19
17
  end
20
18
  end
21
19
 
22
- context "with argument 'block, left'" do
23
- it "removes left margin" do
24
- expect('.omega-block-left').to have_rule('margin-left: 0')
25
- end
26
- end
27
-
28
- context "with argument 'table, left'" do
29
- it "removes left padding" do
30
- expect('.omega-table-left').to have_rule('padding-left: 0')
31
- end
32
- end
33
-
34
- context "with argument '4n'" do
20
+ context "with argument (4n)" do
35
21
  it "removes right margin of nth-child(4n)" do
36
22
  expect('.omega-nth-default:nth-child(4n)').to have_rule('margin-right: 0')
37
23
  end
24
+
25
+ it "adds clear to nth-child(4n+1)" do
26
+ expect('.omega-nth-default:nth-child(4n+1)').to have_rule('clear: left')
27
+ end
38
28
  end
39
29
 
40
- context "with argument '4n table'" do
30
+ context "with argument (4n table)" do
41
31
  it "removes right padding of nth-child(4n)" do
42
32
  expect('.omega-nth-table:nth-child(4n)').to have_rule('padding-right: 0')
43
33
  end
44
34
  end
45
35
 
46
- context "with argument '4n block, left'" do
47
- it "removes left margin of nth-child(4n)" do
48
- expect('.omega-nth-default-left:nth-child(4n)').to have_rule('margin-left: 0')
36
+ context "with argument ('4n+1')" do
37
+ it "removes right margin of nth-child(4n+1)" do
38
+ expect('.omega-complex-nth:nth-child(4n+1)').to have_rule('margin-right: 0')
49
39
  end
50
40
  end
51
41
 
52
- context "with argument '4n table, left'" do
53
- it "removes left padding of nth-child(4n)" do
54
- expect('.omega-nth-table-left:nth-child(4n)').to have_rule('padding-left: 0')
42
+ context "when called inside an RTL row" do
43
+ context "with no argument" do
44
+ it "removes left margin" do
45
+ expect('section .omega-default-left').to have_rule('margin-left: 0')
46
+ end
47
+ end
48
+
49
+ context "with argument (table)" do
50
+ it "removes left padding" do
51
+ expect('section .omega-table-left').to have_rule('padding-left: 0')
52
+ end
53
+ end
54
+
55
+ context "with argument (4n block)" do
56
+ it "removes left margin of nth-child(4n)" do
57
+ expect('section .omega-nth-default-left:nth-child(4n)').to have_rule('margin-left: 0')
58
+ end
59
+ end
60
+
61
+ context "with argument (4n table)" do
62
+ it "removes left padding of nth-child(4n)" do
63
+ expect('section .omega-nth-table-left:nth-child(4n)').to have_rule('padding-left: 0')
64
+ end
55
65
  end
56
66
  end
57
67
  end
@@ -1,10 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "@include pad()" do
4
- let (:identifier) {"pad"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("pad")
8
6
  end
9
7
 
10
8
  context "with no argument" do
@@ -13,20 +11,20 @@ describe "@include pad()" do
13
11
  end
14
12
  end
15
13
 
16
- context "with argument '20px'" do
17
- it "sets padding to '20px'" do
14
+ context "with argument (20px)" do
15
+ it "sets padding to 20px" do
18
16
  expect('.pad-explicit').to have_rule('padding: 20px')
19
17
  end
20
18
  end
21
19
 
22
- context "with argument '30px 20px 10px 5px'" do
23
- it "sets padding to '30px 20px 10px 5px'" do
20
+ context "with argument (30px 20px 10px 5px)" do
21
+ it "sets padding to 30px 20px 10px 5px" do
24
22
  expect('.pad-shorthand').to have_rule('padding: 30px 20px 10px 5px')
25
23
  end
26
24
  end
27
25
 
28
- context "with argument 'default' keyword" do
29
- it "replaces 'default' with gutter percentage" do
26
+ context "with argument (default)" do
27
+ it "uses default gutter percentage" do
30
28
  expect('.pad-shorthand-default').to have_rule('padding: 30px 2.35765% 10px 2.35765%')
31
29
  end
32
30
  end
@@ -1,10 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "@include row()" do
4
- let (:identifier) {"row"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("row")
8
6
  end
9
7
 
10
8
  context "with no argument" do
@@ -17,7 +15,7 @@ describe "@include row()" do
17
15
  end
18
16
  end
19
17
 
20
- context "with argument 'table'" do
18
+ context "with argument (table)" do
21
19
  it "sets display to table" do
22
20
  expect('.row-table').to have_rule('display: table')
23
21
  end
@@ -1,26 +1,24 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "@include shift()" do
4
- let (:identifier) {"shift"}
5
-
6
4
  before(:all) do
7
- ParserSupport.parse_file(identifier)
5
+ ParserSupport.parse_file("shift")
8
6
  end
9
7
 
10
8
  context "with no argument" do
11
- it "shifts element one column to the left" do
9
+ it "shifts element one column in the default direction" do
12
10
  expect('.shift-default').to have_rule('margin-left: 8.5298%')
13
11
  end
14
12
  end
15
13
 
16
- context "with argument '2'" do
17
- it "shifts element 2 column to the left" do
14
+ context "with argument (2)" do
15
+ it "shifts element 2 columns in the default direction" do
18
16
  expect('.shift-positive').to have_rule('margin-left: 17.05961%')
19
17
  end
20
18
  end
21
19
 
22
- context "with argument '-3'" do
23
- it "shifts element 3 column to the right" do
20
+ context "with argument (-3)" do
21
+ it "shifts element 3 columns in the opposite direction" do
24
22
  expect('.shift-negative').to have_rule('margin-left: -25.58941%')
25
23
  end
26
24
  end
@@ -34,4 +32,10 @@ describe "@include shift()" do
34
32
  expect('.post-nested-shift').to have_rule('margin-left: 17.05961%')
35
33
  end
36
34
  end
35
+
36
+ context "when layout direction changes" do
37
+ it "shifts element in the corresponding direction" do
38
+ expect('section .shift-negative').to have_rule('margin-right: -25.58941%')
39
+ end
40
+ end
37
41
  end
@@ -2,22 +2,12 @@
2
2
 
3
3
  .omega-default {
4
4
  @include omega;
5
- color: #000;
6
5
  }
7
6
 
8
7
  .omega-table {
9
8
  @include omega(table);
10
9
  }
11
10
 
12
- .omega-block-left {
13
- @include omega(block, left);
14
- color: #000;
15
- }
16
-
17
- .omega-table-left{
18
- @include omega(table, left);
19
- }
20
-
21
11
  .omega-nth-default {
22
12
  @include omega(4n)
23
13
  }
@@ -26,10 +16,27 @@
26
16
  @include omega(4n table);
27
17
  }
28
18
 
29
- .omega-nth-default-left {
30
- @include omega(4n block, left);
19
+ .omega-complex-nth {
20
+ @include omega("4n+1");
31
21
  }
32
22
 
33
- .omega-nth-table-left {
34
- @include omega(4n table, left);
23
+ section {
24
+ @include row($direction: RTL);
25
+
26
+ .omega-default-left {
27
+ @include omega;
28
+ }
29
+
30
+ .omega-table-left{
31
+ @include omega(table);
32
+ }
33
+
34
+ .omega-nth-default-left {
35
+ @include omega(4n block);
36
+ }
37
+
38
+ .omega-nth-table-left {
39
+ @include omega(4n table);
40
+ @include reset-layout-direction;
41
+ }
35
42
  }
@@ -1,9 +1,5 @@
1
1
  @import 'setup';
2
2
 
3
- .shift-default {
4
- @include shift;
5
- }
6
-
7
3
  .shift-positive {
8
4
  @include shift(2);
9
5
  }
@@ -25,3 +21,17 @@
25
21
  .post-nested-shift {
26
22
  @include shift(2);
27
23
  }
24
+
25
+ // Changing direction
26
+ section {
27
+ @include row($direction: RTL);
28
+
29
+ .shift-negative {
30
+ @include shift(-3);
31
+ @include reset-layout-direction;
32
+ }
33
+ }
34
+
35
+ .shift-default {
36
+ @include shift;
37
+ }
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
5
- prerelease:
4
+ version: 1.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kyle Fiedler
@@ -11,101 +10,136 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2013-04-04 00:00:00.000000000 Z
13
+ date: 2013-05-08 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: sass
18
- requirement: &70191797038060 !ruby/object:Gem::Requirement
19
- none: false
17
+ requirement: !ruby/object:Gem::Requirement
20
18
  requirements:
21
- - - ! '>='
19
+ - - '>='
22
20
  - !ruby/object:Gem::Version
23
21
  version: '3.2'
24
22
  type: :runtime
25
23
  prerelease: false
26
- version_requirements: *70191797038060
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '>='
27
+ - !ruby/object:Gem::Version
28
+ version: '3.2'
27
29
  - !ruby/object:Gem::Dependency
28
30
  name: bourbon
29
- requirement: &70191797037300 !ruby/object:Gem::Requirement
30
- none: false
31
+ requirement: !ruby/object:Gem::Requirement
31
32
  requirements:
32
- - - ! '>='
33
+ - - '>='
33
34
  - !ruby/object:Gem::Version
34
35
  version: '2.1'
35
36
  type: :runtime
36
37
  prerelease: false
37
- version_requirements: *70191797037300
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '2.1'
38
43
  - !ruby/object:Gem::Dependency
39
44
  name: aruba
40
- requirement: &70191797031800 !ruby/object:Gem::Requirement
41
- none: false
45
+ requirement: !ruby/object:Gem::Requirement
42
46
  requirements:
43
47
  - - ~>
44
48
  - !ruby/object:Gem::Version
45
49
  version: '0.4'
46
50
  type: :development
47
51
  prerelease: false
48
- version_requirements: *70191797031800
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: '0.4'
49
57
  - !ruby/object:Gem::Dependency
50
58
  name: rake
51
- requirement: &70191797030940 !ruby/object:Gem::Requirement
52
- none: false
59
+ requirement: !ruby/object:Gem::Requirement
53
60
  requirements:
54
- - - ! '>='
61
+ - - '>='
55
62
  - !ruby/object:Gem::Version
56
63
  version: '0'
57
64
  type: :development
58
65
  prerelease: false
59
- version_requirements: *70191797030940
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
60
71
  - !ruby/object:Gem::Dependency
61
72
  name: css_parser
62
- requirement: &70191797030080 !ruby/object:Gem::Requirement
63
- none: false
73
+ requirement: !ruby/object:Gem::Requirement
64
74
  requirements:
65
- - - ! '>='
75
+ - - '>='
66
76
  - !ruby/object:Gem::Version
67
77
  version: '0'
68
78
  type: :development
69
79
  prerelease: false
70
- version_requirements: *70191797030080
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
71
85
  - !ruby/object:Gem::Dependency
72
86
  name: rspec
73
- requirement: &70191797028820 !ruby/object:Gem::Requirement
74
- none: false
87
+ requirement: !ruby/object:Gem::Requirement
75
88
  requirements:
76
- - - ! '>='
89
+ - - '>='
77
90
  - !ruby/object:Gem::Version
78
91
  version: '0'
79
92
  type: :development
80
93
  prerelease: false
81
- version_requirements: *70191797028820
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
82
99
  - !ruby/object:Gem::Dependency
83
100
  name: rdoc
84
- requirement: &70191797026780 !ruby/object:Gem::Requirement
85
- none: false
101
+ requirement: !ruby/object:Gem::Requirement
86
102
  requirements:
87
- - - ! '>='
103
+ - - '>='
88
104
  - !ruby/object:Gem::Version
89
105
  version: '0'
90
106
  type: :development
91
107
  prerelease: false
92
- version_requirements: *70191797026780
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
93
113
  - !ruby/object:Gem::Dependency
94
114
  name: bundler
95
- requirement: &70191797006460 !ruby/object:Gem::Requirement
96
- none: false
115
+ requirement: !ruby/object:Gem::Requirement
97
116
  requirements:
98
- - - ! '>='
117
+ - - '>='
99
118
  - !ruby/object:Gem::Version
100
119
  version: '0'
101
120
  type: :development
102
121
  prerelease: false
103
- version_requirements: *70191797006460
104
- description: ! 'Neat is an open source grid framework built on top of Bourbon with
105
- the aim of being easy enough to use out of the box and flexible enough to customize
106
- down the road.
107
-
108
- '
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: rb-fsevent
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 0.9.1
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ~>
139
+ - !ruby/object:Gem::Version
140
+ version: 0.9.1
141
+ description: |
142
+ Neat is an open source grid framework built on top of Bourbon with the aim of being easy enough to use out of the box and flexible enough to customize down the road.
109
143
  email:
110
144
  - support@thoughtbot.com
111
145
  executables:
@@ -127,12 +161,13 @@ files:
127
161
  - app/assets/stylesheets/functions/_private.scss
128
162
  - app/assets/stylesheets/functions/_px-to-em.scss
129
163
  - app/assets/stylesheets/grid/_fill-parent.scss
130
- - app/assets/stylesheets/grid/_global-variables.scss
131
164
  - app/assets/stylesheets/grid/_grid.scss
132
165
  - app/assets/stylesheets/grid/_media.scss
133
166
  - app/assets/stylesheets/grid/_omega.scss
134
167
  - app/assets/stylesheets/grid/_outer-container.scss
135
168
  - app/assets/stylesheets/grid/_pad.scss
169
+ - app/assets/stylesheets/grid/_private.scss
170
+ - app/assets/stylesheets/grid/_reset.scss
136
171
  - app/assets/stylesheets/grid/_row.scss
137
172
  - app/assets/stylesheets/grid/_shift.scss
138
173
  - app/assets/stylesheets/grid/_span-columns.scss
@@ -173,33 +208,26 @@ files:
173
208
  - test/span-columns.scss
174
209
  homepage: https://github.com/thoughtbot/neat
175
210
  licenses: []
211
+ metadata: {}
176
212
  post_install_message:
177
213
  rdoc_options: []
178
214
  require_paths:
179
215
  - lib
180
216
  required_ruby_version: !ruby/object:Gem::Requirement
181
- none: false
182
217
  requirements:
183
- - - ! '>='
218
+ - - '>='
184
219
  - !ruby/object:Gem::Version
185
220
  version: '0'
186
- segments:
187
- - 0
188
- hash: -1770698003665574111
189
221
  required_rubygems_version: !ruby/object:Gem::Requirement
190
- none: false
191
222
  requirements:
192
- - - ! '>='
223
+ - - '>='
193
224
  - !ruby/object:Gem::Version
194
225
  version: '0'
195
- segments:
196
- - 0
197
- hash: -1770698003665574111
198
226
  requirements: []
199
227
  rubyforge_project: neat
200
- rubygems_version: 1.8.15
228
+ rubygems_version: 2.0.3
201
229
  signing_key:
202
- specification_version: 3
230
+ specification_version: 4
203
231
  summary: A fluid grid framework on top of Bourbon
204
232
  test_files:
205
233
  - spec/neat/columns_spec.rb
@@ -1,5 +0,0 @@
1
- $parent-columns: $grid-columns !default;
2
- $fg-column: $column;
3
- $fg-gutter: $gutter;
4
- $fg-max-columns: $grid-columns;
5
- $container-display-table: false !default;