zen-grids 2.0.0.beta.2 → 2.0.0.beta.3

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/zen-grids.rb +1 -1
  4. data/{_zen-grids.scss → stylesheets/_zen-grids.scss} +0 -0
  5. data/{zen-grids → stylesheets/zen-grids}/_background.scss +5 -3
  6. data/{zen-grids → stylesheets/zen-grids}/_flow.scss +1 -1
  7. data/{zen-grids → stylesheets/zen-grids}/_functions.scss +2 -2
  8. data/{zen-grids → stylesheets/zen-grids}/_grids.scss +13 -10
  9. data/stylesheets/zen-grids/_undo.scss +156 -0
  10. data/{zen-grids → stylesheets/zen-grids}/_variables.scss +0 -0
  11. data/{zen-grids → stylesheets/zen-grids}/internal/_functions-compass-polyfill.scss +2 -25
  12. data/{zen-grids → stylesheets/zen-grids}/internal/_variables-background.scss +0 -0
  13. data/zen-grids.gemspec +18 -13
  14. metadata +17 -48
  15. data/.travis.yml +0 -13
  16. data/bower.json +0 -27
  17. data/sache.json +0 -5
  18. data/tests/Gemfile +0 -11
  19. data/tests/README.md +0 -16
  20. data/tests/Rakefile +0 -25
  21. data/tests/config.rb +0 -22
  22. data/tests/controls/compass-compatibility.css +0 -112
  23. data/tests/controls/function-zen-direction-switch.css +0 -16
  24. data/tests/controls/function-zen-grid-item-width.css +0 -26
  25. data/tests/controls/function-zen-half-gutter.css +0 -24
  26. data/tests/controls/function-zen-unit-width.css +0 -22
  27. data/tests/controls/zen-float.css +0 -16
  28. data/tests/controls/zen-flow-item-width.css +0 -131
  29. data/tests/controls/zen-grid-background.css +0 -52
  30. data/tests/controls/zen-grid-container.css +0 -94
  31. data/tests/controls/zen-grid-item-base.css +0 -76
  32. data/tests/controls/zen-grid-item.css +0 -81
  33. data/tests/controls/zen-new-row.css +0 -16
  34. data/tests/tests/compass-compatibility.scss +0 -55
  35. data/tests/tests/function-zen-direction-switch.scss +0 -24
  36. data/tests/tests/function-zen-grid-item-width.scss +0 -44
  37. data/tests/tests/function-zen-half-gutter.scss +0 -37
  38. data/tests/tests/function-zen-unit-width.scss +0 -44
  39. data/tests/tests/zen-float.scss +0 -26
  40. data/tests/tests/zen-flow-item-width.scss +0 -85
  41. data/tests/tests/zen-grid-background.scss +0 -85
  42. data/tests/tests/zen-grid-container.scss +0 -49
  43. data/tests/tests/zen-grid-item-base.scss +0 -65
  44. data/tests/tests/zen-grid-item.scss +0 -101
  45. data/tests/tests/zen-new-row.scss +0 -26
  46. data/tests/unit_tests.rb +0 -57
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81cf49e11ba72b0297fa7c6a7d343461a04cd7fb
4
- data.tar.gz: 9cbeb9c3da2580d011d7a3b6e999b0eb0deea43a
3
+ metadata.gz: 8583a6425123fc8672fa50a06b101ed73999eaa6
4
+ data.tar.gz: bb2addbe8d5e1faa50a630f50f373e2b96c423d6
5
5
  SHA512:
6
- metadata.gz: 6838aa469c56c868073050b99c6f964d0fdc58558ef65090045d74e23a87b8ab17777ffc24333a31b60c6e1746e6acaab666566992c9717f7d82c867ae8b6e3b
7
- data.tar.gz: bcaa65d2fedf337c2d05de9d9281dd394a558d77a613acf21b09531aabfbc146f395e6845f2ff416f88f75abb1c474c2b0176edab6d6db4725f6bd17c88f894d
6
+ metadata.gz: a587bf7b7969ef1b6e7eaf9414efc3450ac58a95a0ff7c08c61c3f3bfc246ab3647eb773cc88f34dc7074f8d1f9e565d4b7b8f37d3882a190df11e4a81e020db
7
+ data.tar.gz: 84832d4948dfcc4799cd6e810d99c076efc98f194d0ab7b7ad0799cf9620ab17af565011d82ce619761b32f29ec7a1648c4b307f2ea09cd95452a0cb6becdfe0
data/README.md CHANGED
@@ -71,7 +71,7 @@ You can then start using Zen Grids in your Sass files. Just add this line to one
71
71
  * Sass 3.3.0 or later
72
72
 
73
73
  For the zen-grids/background module only:
74
- * Compass 1.0.0.alpha.13 or later
74
+ * Compass 1.0.0 or later
75
75
 
76
76
 
77
77
  ## LICENSE
data/lib/zen-grids.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'compass'
2
2
 
3
3
  project_path = File.join(File.dirname(__FILE__), '..')
4
- stylesheets_path = File.join(project_path)
4
+ stylesheets_path = File.join(project_path, 'stylesheets')
5
5
  templates_path = File.join(project_path, 'templates')
6
6
 
7
7
  Compass::Frameworks.register(
File without changes
@@ -3,9 +3,11 @@
3
3
  //
4
4
 
5
5
 
6
- @import "zen-grids/functions";
7
- @import "zen-grids/internal/variables-background"; // Add the default set of background images.
8
- @import "compass/css3/images"; // Unlike the rest of Zen Grids, this module requires Compass.
6
+ @import "./functions";
7
+ // Add the default set of background images.
8
+ @import "./internal/variables-background";
9
+ // Unlike the rest of Zen Grids, this module requires Compass.
10
+ @import "compass/css3/images";
9
11
 
10
12
 
11
13
  //
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
 
6
- @import "zen-grids/grids";
6
+ @import "./grids";
7
7
 
8
8
 
9
9
  //
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
 
6
- @import "zen-grids/variables";
6
+ @import "./variables";
7
7
 
8
8
 
9
9
  //
@@ -92,7 +92,7 @@
92
92
  $width: $width + (floor($column-span) - 1) * $gutters;
93
93
  }
94
94
  // For the original box model, remove the padding from the width.
95
- @elseif $box-sizing == content-box {
95
+ @else if $box-sizing == content-box {
96
96
  $test: zen-compare-units('box-sizing: content-box', $gutters, $grid-width);
97
97
  $width: $width - $gutters;
98
98
  }
@@ -3,9 +3,11 @@
3
3
  //
4
4
 
5
5
 
6
- @import "zen-grids/variables"; // Import the global variables needed by all of Zen Grids.
7
- @import "zen-grids/functions"; // Import the helper functions.
8
- @import "zen-grids/internal/functions-compass-polyfill";
6
+ // Import the global variables needed by all of Zen Grids.
7
+ @import "./variables";
8
+ // Import the helper functions.
9
+ @import "./functions";
10
+ @import "./internal/functions-compass-polyfill";
9
11
 
10
12
 
11
13
  //
@@ -62,6 +64,7 @@
62
64
 
63
65
  // Prevent any padding from messing up the alignment of the nested grid.
64
66
  @if $context == grid-item or $context == flow {
67
+ // Copy of undo-zen-apply-gutter-padding()
65
68
  padding: {
66
69
  left: 0;
67
70
  right: 0;
@@ -126,15 +129,15 @@
126
129
  }
127
130
 
128
131
  //
129
- // Applies a standard set of properites to all grid items in the layout.
132
+ // Applies a standard set of properites for grid items in the layout.
130
133
  // @see http://next.zengrids.com/reference/grids/#zen-grid-item-base
131
134
  //
132
135
  @mixin zen-grid-item-base(
133
- $gutters : $zen-gutters,
134
- $gutter-method : $zen-gutter-method,
135
- $box-sizing : $zen-box-sizing,
136
- $direction : $zen-direction,
137
- $switch-direction : $zen-switch-direction
136
+ $gutters : $zen-gutters,
137
+ $gutter-method : $zen-gutter-method,
138
+ $box-sizing : $zen-box-sizing,
139
+ $direction : $zen-direction,
140
+ $switch-direction : $zen-switch-direction
138
141
  ) {
139
142
 
140
143
  // Specify the padding if the gutter method uses padding.
@@ -150,7 +153,7 @@
150
153
  box-sizing: border-box;
151
154
  }
152
155
  // Prevent left/right borders since they'll break the layout with content-box.
153
- @elseif $box-sizing == content-box {
156
+ @else if $box-sizing == content-box {
154
157
  border: {
155
158
  left: 0 !important;
156
159
  right: 0 !important;
@@ -0,0 +1,156 @@
1
+ //
2
+ // Undo module for the Zen Grids system.
3
+ //
4
+
5
+
6
+ @import "./grids";
7
+
8
+
9
+ //
10
+ // Apply this to undo the grid container styling.
11
+ // @see http://next.zengrids.com/reference/grids/#undo-zen-grid-container
12
+ //
13
+ // NOTE: if $context is flow, the zen-grid-container() set the left and right
14
+ // padding to "0" to prevent it from messing up the alignment of the nested
15
+ // grid. Since Zen Grids doesn't know what you previously used for this
16
+ // element's padding, there is no way to undo that.
17
+ //
18
+ @mixin undo-zen-grid-container(
19
+ $context : none,
20
+ $gutters : $zen-gutters,
21
+ $gutter-method : $zen-gutter-method,
22
+ $direction : $zen-direction,
23
+ $switch-direction : $zen-switch-direction
24
+ ) {
25
+
26
+ $dir: $direction;
27
+ @if $switch-direction {
28
+ $dir: zen-direction-switch($dir);
29
+ }
30
+
31
+ @if $context == flow-item {
32
+ @warn "zen-grid-container()'s $context cannot be set to: flow-item. It has been set to: flow.";
33
+ $context: flow;
34
+ }
35
+ @else if $context == grid {
36
+ @warn "zen-grid-container()'s $context cannot be set to: grid. It has been set to: grid-item.";
37
+ $context: grid-item;
38
+ }
39
+
40
+ // @TODO: This is a pre-IE8 line of code; don't remember why its needed.
41
+ @if zen-support-for(ie, "7") {
42
+ *position: static;
43
+ }
44
+
45
+ // Un-do the "micro clearfix".
46
+ &:before,
47
+ &:after {
48
+ content: normal;
49
+ display: inline;
50
+ }
51
+ &:after {
52
+ clear: none;
53
+ }
54
+ @if zen-support-for(ie, "7") {
55
+ *zoom: normal;
56
+ }
57
+
58
+ // Reset the negative margins that un-did the gutter padding of the parent
59
+ // grid item.
60
+ @if $context == flow and $gutter-method == padding {
61
+ margin: {
62
+ left: 0;
63
+ right: 0;
64
+ }
65
+ }
66
+
67
+ // Re-add the original gutters to the grid item.
68
+ @if $context == grid-item and $gutter-method == padding {
69
+ @include zen-apply-gutter-padding($gutters, $direction, $switch-direction);
70
+ }
71
+ }
72
+
73
+ //
74
+ // Apply this to undo the grid item styling. @see http://next.zengrids.com/reference/grids/#undo-zen-grid-item
75
+ //
76
+ @mixin undo-zen-grid-item(
77
+ $gutters : $zen-gutters,
78
+ $gutter-method : $zen-gutter-method,
79
+ $box-sizing : $zen-box-sizing,
80
+ $include-base : $zen-auto-include-grid-item-base
81
+ ) {
82
+
83
+ float: none;
84
+ width: auto;
85
+ margin: {
86
+ left: 0;
87
+ right: 0;
88
+ }
89
+
90
+ // Include the grid item base mixin.
91
+ @if $include-base {
92
+ @include undo-zen-grid-item-base($gutter-method, $box-sizing);
93
+ }
94
+ // If the $gutters parameter has been used, undo the gutters even if
95
+ // $include-base is false.
96
+ @else if $gutters != $zen-gutters and $gutter-method == padding {
97
+ @include undo-zen-apply-gutter-padding();
98
+ }
99
+ }
100
+
101
+ //
102
+ // Undoes the standard set of properites for grid items in the layout.
103
+ // @see http://next.zengrids.com/reference/grids/#undo-zen-grid-item-base
104
+ //
105
+ // NOTE: if $box-sizing == content-box, the zen-grid-item-base() will add
106
+ // left and right borders and padding of "0 !important" since non-zero values
107
+ // would break the layout. There is no way to undo that.
108
+ //
109
+ @mixin undo-zen-grid-item-base(
110
+ $gutter-method : $zen-gutter-method,
111
+ $box-sizing : $zen-box-sizing
112
+ ) {
113
+
114
+ // Specify the padding if the gutter method uses padding.
115
+ @if $gutter-method == padding {
116
+ @include undo-zen-apply-gutter-padding();
117
+ }
118
+
119
+ // Specify the border-box properties.
120
+ @if $box-sizing == border-box {
121
+ -moz-box-sizing: content-box;
122
+ -webkit-box-sizing: content-box;
123
+ -ms-box-sizing: content-box;
124
+ box-sizing: content-box;
125
+ }
126
+
127
+ @if zen-support-for(ie, "7") {
128
+ @if $box-sizing-polyfill-path != "" {
129
+ *behavior: none;
130
+ }
131
+ @if zen-support-for(ie, "6") {
132
+ _display: block;
133
+ _overflow: visible;
134
+ }
135
+ *word-wrap: normal;
136
+ }
137
+ }
138
+
139
+ //
140
+ // Apply this to prevent a grid item from starting a new row.
141
+ // @see http://next.zengrids.com/reference/grids/#undo-zen-new-row
142
+ //
143
+ @mixin undo-zen-new-row() {
144
+ clear: none;
145
+ }
146
+
147
+ //
148
+ // Undoes the gutter on a grid item when using the padding gutter method.
149
+ // @see http://next.zengrids.com/reference/grids/#undo-zen-apply-gutter-padding
150
+ //
151
+ @mixin undo-zen-apply-gutter-padding() {
152
+ padding: {
153
+ left: 0;
154
+ right: 0;
155
+ }
156
+ }
@@ -7,12 +7,11 @@
7
7
  // Determines if the project has declared a minimum supported version number for
8
8
  // the specified browser. This is a wrapper function that uses Compass'
9
9
  // support-legacy-browser() if available.
10
- // @see http://beta.compass-style.org/reference/compass/support/#function-support-legacy-browser
10
+ // @see http://compass-style.org/reference/compass/support/#function-support-legacy-browser
11
11
  //
12
12
  @function zen-support-for($browser, $min-version) {
13
13
  @if function-exists('support-legacy-browser') {
14
- // @TODO Use the non-monkey patched version after it's fixed in Compass.
15
- @return patched-support-legacy-browser($browser, $min-version);
14
+ @return support-legacy-browser($browser, $min-version);
16
15
  }
17
16
  @else {
18
17
  @return zen-support-legacy-browser($browser, $min-version);
@@ -46,25 +45,3 @@
46
45
  $integers: ("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100");
47
46
  @return index($integers, $string);
48
47
  }
49
-
50
- // To work around a bug in compass-core 1.0.0-alpha.18, we override Compass'
51
- // support-legacy-browser() function with a version of our own.
52
- // @TODO Remove this monkey patch after it's fixed in Compass.
53
- // @see https://github.com/chriseppstein/compass/pull/1524
54
- // @see also https://github.com/chriseppstein/compass/pull/1520
55
- @function patched-support-legacy-browser($browser, $min-version, $max-version: null, $threshold: $critical-usage-threshold) {
56
- @if not index($supported-browsers, $browser) {
57
- @return false;
58
- }
59
- // Check against declared minimums.
60
- $min-required-version: map-get($browser-minimum-versions, $browser);
61
- @if $min-required-version {
62
- @return compare-browser-versions($browser, $max-version or $min-version, $min-required-version) >= 0;
63
- } @else {
64
- // Check against usage stats.
65
- $usage: if($max-version,
66
- omitted-usage($browser, $min-version, $max-version),
67
- omitted-usage($browser, $min-version));
68
- @return $usage > $threshold;
69
- }
70
- }
data/zen-grids.gemspec CHANGED
@@ -1,22 +1,27 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- Gem::Specification.new do |s|
4
- s.name = 'zen-grids'
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'zen-grids'
5
5
 
6
- s.summary = %q{A Compass plugin for Zen Grids, a fluid responsive grid system}
7
- s.description = %q{Zen Grids is an intuitive, flexible grid system that leverages the natural source order of your content to make it easier to create fluid responsive designs. With an easy-to-use Sass mixin set, the Zen Grids system can be applied to an infinite number of layouts, including responsive, adaptive, fluid and fixed-width layouts.}
6
+ spec.summary = %q{A Compass plugin for Zen Grids, a fluid responsive grid system}
7
+ spec.description = %q{Zen Grids is an intuitive, flexible grid system that leverages the natural source order of your content to make it easier to create fluid responsive designs. With an easy-to-use Sass mixin set, the Zen Grids system can be applied to an infinite number of layouts, including responsive, adaptive, fluid and fixed-width layouts.}
8
8
 
9
- s.homepage = 'http://zengrids.com'
10
- s.rubyforge_project =
9
+ spec.homepage = 'http://zengrids.com'
10
+ spec.rubyforge_project =
11
11
 
12
- s.version = '2.0.0.beta.2'
13
- s.date = '2014-03-11'
14
- s.licenses = ['GPL-2']
12
+ spec.version = '2.0.0.beta.3'
13
+ spec.date = '2014-09-03'
14
+ spec.licenses = ['GPL-2']
15
15
 
16
- s.authors = ['John Albin Wilkins']
17
- s.email = 'virtually.johnalbin@gmail.com'
16
+ spec.authors = ['John Albin Wilkins']
17
+ spec.email = 'virtually.johnalbin@gmail.com'
18
18
 
19
- s.add_runtime_dependency('sass', ">= 3.3")
19
+ spec.add_runtime_dependency('sass', "~> 3.3")
20
20
 
21
- s.files = `git ls-files -z`.split "\0"
21
+ spec.files = `git ls-files`.split($/).select {|f| File.exist?(f) && f =~ %r{^(lib|stylesheets|templates)/} }
22
+ spec.files += %w(
23
+ LICENSE.txt
24
+ README.md
25
+ zen-grids.gemspec
26
+ )
22
27
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zen-grids
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta.2
4
+ version: 2.0.0.beta.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Albin Wilkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-11 00:00:00.000000000 Z
11
+ date: 2014-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.3'
27
27
  description: Zen Grids is an intuitive, flexible grid system that leverages the natural
@@ -33,13 +33,18 @@ executables: []
33
33
  extensions: []
34
34
  extra_rdoc_files: []
35
35
  files:
36
- - .travis.yml
37
36
  - LICENSE.txt
38
37
  - README.md
39
- - _zen-grids.scss
40
- - bower.json
41
38
  - lib/zen-grids.rb
42
- - sache.json
39
+ - stylesheets/_zen-grids.scss
40
+ - stylesheets/zen-grids/_background.scss
41
+ - stylesheets/zen-grids/_flow.scss
42
+ - stylesheets/zen-grids/_functions.scss
43
+ - stylesheets/zen-grids/_grids.scss
44
+ - stylesheets/zen-grids/_undo.scss
45
+ - stylesheets/zen-grids/_variables.scss
46
+ - stylesheets/zen-grids/internal/_functions-compass-polyfill.scss
47
+ - stylesheets/zen-grids/internal/_variables-background.scss
43
48
  - templates/project/_base-elements.scss
44
49
  - templates/project/_components.scss
45
50
  - templates/project/_init.scss
@@ -48,43 +53,7 @@ files:
48
53
  - templates/project/example.html
49
54
  - templates/project/manifest.rb
50
55
  - templates/project/styles.scss
51
- - tests/Gemfile
52
- - tests/README.md
53
- - tests/Rakefile
54
- - tests/config.rb
55
- - tests/controls/compass-compatibility.css
56
- - tests/controls/function-zen-direction-switch.css
57
- - tests/controls/function-zen-grid-item-width.css
58
- - tests/controls/function-zen-half-gutter.css
59
- - tests/controls/function-zen-unit-width.css
60
- - tests/controls/zen-float.css
61
- - tests/controls/zen-flow-item-width.css
62
- - tests/controls/zen-grid-background.css
63
- - tests/controls/zen-grid-container.css
64
- - tests/controls/zen-grid-item-base.css
65
- - tests/controls/zen-grid-item.css
66
- - tests/controls/zen-new-row.css
67
- - tests/tests/compass-compatibility.scss
68
- - tests/tests/function-zen-direction-switch.scss
69
- - tests/tests/function-zen-grid-item-width.scss
70
- - tests/tests/function-zen-half-gutter.scss
71
- - tests/tests/function-zen-unit-width.scss
72
- - tests/tests/zen-float.scss
73
- - tests/tests/zen-flow-item-width.scss
74
- - tests/tests/zen-grid-background.scss
75
- - tests/tests/zen-grid-container.scss
76
- - tests/tests/zen-grid-item-base.scss
77
- - tests/tests/zen-grid-item.scss
78
- - tests/tests/zen-new-row.scss
79
- - tests/unit_tests.rb
80
56
  - zen-grids.gemspec
81
- - zen-grids/_background.scss
82
- - zen-grids/_flow.scss
83
- - zen-grids/_functions.scss
84
- - zen-grids/_grids.scss
85
- - zen-grids/_variables.scss
86
- - zen-grids/internal/_functions-compass-polyfill.scss
87
- - zen-grids/internal/_variables-background.scss
88
57
  homepage: http://zengrids.com
89
58
  licenses:
90
59
  - GPL-2
@@ -95,17 +64,17 @@ require_paths:
95
64
  - lib
96
65
  required_ruby_version: !ruby/object:Gem::Requirement
97
66
  requirements:
98
- - - '>='
67
+ - - ">="
99
68
  - !ruby/object:Gem::Version
100
69
  version: '0'
101
70
  required_rubygems_version: !ruby/object:Gem::Requirement
102
71
  requirements:
103
- - - '>'
72
+ - - ">"
104
73
  - !ruby/object:Gem::Version
105
74
  version: 1.3.1
106
75
  requirements: []
107
- rubyforge_project: 2.0.0.beta.2
108
- rubygems_version: 2.2.2
76
+ rubyforge_project: 2.0.0.beta.3
77
+ rubygems_version: 2.4.1
109
78
  signing_key:
110
79
  specification_version: 4
111
80
  summary: A Compass plugin for Zen Grids, a fluid responsive grid system