gridle 1.0.6

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA512:
3
+ metadata.gz: 3e7f3698cd72415c66b25135e1a15fbf4c8ac8a35f94ebaae088c175f631ecd8529516e498b82ee8ccbf430eb35387e99034bd68f5aea28f819373919c637c2c
4
+ data.tar.gz: 1ca273584a19d04f0cd6e4729b9108cf50a129044f885b77f569b3775d16db5ace934ae33061a4de3c294ded3e25a9ebecc696dcbd014b7869289d3ab7c85526
5
+ SHA1:
6
+ metadata.gz: 00c4f50a3e1c5d897c9abe07fc5145c739ce99b0
7
+ data.tar.gz: ece8b4f437257d1aa38bb3f35d7872e19c5d12be
@@ -0,0 +1,30 @@
1
+ # All gems that are required for this extension to work should go here.
2
+ # These are the requires you would normally put in your config.rb file
3
+ # By default, you should always included Compass. Do not include your
4
+ # extension.
5
+ require 'compass'
6
+
7
+ # This tells Compass what your Compass extension is called, and where to find
8
+ # its files
9
+ # Replace 'extension' with the name of your extension. Spaces allowed.
10
+ extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
11
+ Compass::Frameworks.register('gridle', :path => extension_path)
12
+
13
+ # Version and date of version for your Compass extension.
14
+ # Replace Extension with the name of your extension
15
+ # Letters, numbers, and underscores only
16
+ # Version is a number. If a version contains alphas, it will be created as
17
+ # a prerelease version
18
+ # Date is in the form of YYYY-MM-DD
19
+ module Extension
20
+ VERSION = "1.0.6"
21
+ DATE = "2013-11-06"
22
+ end
23
+
24
+ # This is where any custom SassScript should be placed. The functions will be
25
+ # available on require of your extension without the need for users to import
26
+ # any partials. Uncomment below.
27
+
28
+ # module Sass::Script::Functions
29
+ #
30
+ # end
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import 'gridle/gridle';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '12-columns';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '12-columns-responsive';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 12;
10
+
11
+ /**
12
+ * Register states :
13
+ */
14
+ @include gridle_register_default_states();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 12;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '16-columns';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '16-columns-responsive';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 16;
10
+
11
+ /**
12
+ * Register states :
13
+ */
14
+ @include gridle_register_default_states();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 16;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '24-columns';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '24-columns-responsive';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 24;
10
+
11
+ /**
12
+ * Register states :
13
+ */
14
+ @include gridle_register_default_states();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 24;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '960gs';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Imports :
3
+ */
4
+ @import '960gs-responsive';
5
+
6
+ /**
7
+ * Generate classes :
8
+ */
9
+ @include gridle_generate_classes();
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 12;
10
+ $gridle-gutter-width : 20px;
11
+
12
+ /**
13
+ * Register states :
14
+ */
15
+ @include gridle_register_default_states();
16
+
17
+ /**
18
+ * Fix width of container :
19
+ */
20
+ .container, .grid-container, .container-12, .c-12 {
21
+ max-width:960px;
22
+ margin:0 auto;
23
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Imports
3
+ */
4
+ @import 'gridle';
5
+
6
+ /**
7
+ * Configuration :
8
+ */
9
+ $gridle-columns-count : 12;
10
+ $gridle-gutter-width : 20px;
11
+
12
+ /**
13
+ * Fix width of container :
14
+ */
15
+ .container, .grid-container, .container-12, .c-12 {
16
+ max-width:960px;
17
+ margin:0 auto;
18
+ }
@@ -0,0 +1,1583 @@
1
+ // |------------------------------------------------------
2
+ // |------------------------------------------------------
3
+ // Gridle (.scss)
4
+ // Gridle is an one and unique grid system file that allows you to generate almost all
5
+ // grid you've ever dreamt about.
6
+ // |------------------------------------------------------
7
+ // |------------------------------------------------------
8
+
9
+ // |------------------------------------------------------
10
+ // |------------------------------------------------------
11
+ // Copyright (c) 2013 Olivier Bossel
12
+
13
+ // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
14
+ // documentation files (the "Software"), to deal in the Software without restriction, including without limitation
15
+ // the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
16
+ // and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
17
+
18
+ // The above copyright notice and this permission notice shall be included in all copies or substantial portions
19
+ // of the Software.
20
+
21
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
22
+ // TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23
+ // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
24
+ // CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
25
+ // IN THE SOFTWARE.
26
+ // |------------------------------------------------------
27
+ // |------------------------------------------------------
28
+
29
+ // |------------------------------------------------------
30
+ // |------------------------------------------------------
31
+ // @created 25.03.13
32
+ // @updated 06.11.13
33
+ // @author Olivier Bossel <olivier.bossel@gmail.com>
34
+ // @version 1.0.5
35
+ // |------------------------------------------------------
36
+ // |------------------------------------------------------
37
+
38
+
39
+
40
+
41
+ // |------------------------------------------------------
42
+ // |------------------------------------------------------
43
+ // | Settings
44
+ // |------------------------------------------------------
45
+ // |------------------------------------------------------
46
+
47
+
48
+ // gridle configuration vars :
49
+ $gridle-columns-count : 12 !default;
50
+ $gridle-gutter-width : 20px !default;
51
+ $gridle-name-multiplicator : 1 !default;
52
+
53
+ $gridle-direction : ltr !default;
54
+
55
+ $gridle-debug : false !default;
56
+ $gridle-debug-show-class-names : true !default;
57
+
58
+ $gridle-ie7-support : true !default;
59
+
60
+ $gridle-html-states-classes : false !default;
61
+
62
+ $gridle-generate-helpers-classes : true !default;
63
+ $gridle-generate-push-classes : true !default;
64
+ $gridle-generate-pull-classes : true !default;
65
+ $gridle-generate-prefix-classes : true !default;
66
+ $gridle-generate-suffix-classes : true !default;
67
+
68
+ $gridle-generate-useful-states-classes : (retina, landscape) !default;// retina | landscape | portrait | print | tv
69
+
70
+
71
+
72
+
73
+ // |------------------------------------------------------
74
+ // |------------------------------------------------------
75
+ // | Variables
76
+ // |------------------------------------------------------
77
+ // |------------------------------------------------------
78
+
79
+
80
+
81
+ $_gridle-state-01-min-width : null !default;
82
+ $_gridle-state-01-max-width : null !default;
83
+ $_gridle-state-01-name : null !default;
84
+ $_gridle-state-01-query : null !default;
85
+ $_gridle-state-01-classes : true !default;
86
+
87
+ $_gridle-state-02-min-width : null !default;
88
+ $_gridle-state-02-max-width : null !default;
89
+ $_gridle-state-02-name : null !default;
90
+ $_gridle-state-02-query : null !default;
91
+ $_gridle-state-02-classes : true !default;
92
+
93
+ $_gridle-state-03-min-width : null !default;
94
+ $_gridle-state-03-max-width : null !default;
95
+ $_gridle-state-03-name : null !default;
96
+ $_gridle-state-03-query : null !default;
97
+ $_gridle-state-03-classes : true !default;
98
+
99
+ $_gridle-state-04-min-width : null !default;
100
+ $_gridle-state-04-max-width : null !default;
101
+ $_gridle-state-04-name : null !default;
102
+ $_gridle-state-04-query : null !default;
103
+ $_gridle-state-04-classes : true !default;
104
+
105
+ $_gridle-state-05-min-width : null !default;
106
+ $_gridle-state-05-max-width : null !default;
107
+ $_gridle-state-05-name : null !default;
108
+ $_gridle-state-05-query : null !default;
109
+ $_gridle-state-05-classes : true !default;
110
+
111
+ $_gridle-state-06-min-width : null !default;
112
+ $_gridle-state-06-max-width : null !default;
113
+ $_gridle-state-06-name : null !default;
114
+ $_gridle-state-06-query : null !default;
115
+ $_gridle-state-06-classes : true !default;
116
+
117
+ $_gridle-state-07-min-width : null !default;
118
+ $_gridle-state-07-max-width : null !default;
119
+ $_gridle-state-07-name : null !default;
120
+ $_gridle-state-07-query : null !default;
121
+ $_gridle-state-07-classes : true !default;
122
+
123
+ $_gridle-state-08-min-width : null !default;
124
+ $_gridle-state-08-max-width : null !default;
125
+ $_gridle-state-08-name : null !default;
126
+ $_gridle-state-08-query : null !default;
127
+ $_gridle-state-08-classes : true !default;
128
+
129
+ $_gridle-state-09-min-width : null !default;
130
+ $_gridle-state-09-max-width : null !default;
131
+ $_gridle-state-09-name : null !default;
132
+ $_gridle-state-09-query : null !default;
133
+ $_gridle-state-09-classes : true !default;
134
+
135
+ $_gridle-state-10-min-width : null !default;
136
+ $_gridle-state-10-max-width : null !default;
137
+ $_gridle-state-10-name : null !default;
138
+ $_gridle-state-10-query : null !default;
139
+ $_gridle-state-10-classes : true !default;
140
+
141
+ $_gridle-state-11-min-width : null !default;
142
+ $_gridle-state-11-max-width : null !default;
143
+ $_gridle-state-11-name : null !default;
144
+ $_gridle-state-11-query : null !default;
145
+ $_gridle-state-11-classes : true !default;
146
+
147
+ $_gridle-state-12-min-width : null !default;
148
+ $_gridle-state-12-max-width : null !default;
149
+ $_gridle-state-12-name : null !default;
150
+ $_gridle-state-12-query : null !default;
151
+ $_gridle-state-12-classes : true !default;
152
+
153
+ $_gridle-state-13-min-width : null !default;
154
+ $_gridle-state-13-max-width : null !default;
155
+ $_gridle-state-13-name : null !default;
156
+ $_gridle-state-13-query : null !default;
157
+ $_gridle-state-13-classes : true !default;
158
+
159
+ $_gridle-state-14-min-width : null !default;
160
+ $_gridle-state-14-max-width : null !default;
161
+ $_gridle-state-14-name : null !default;
162
+ $_gridle-state-14-query : null !default;
163
+ $_gridle-state-14-classes : true !default;
164
+
165
+ $_gridle-state-15-min-width : null !default;
166
+ $_gridle-state-15-max-width : null !default;
167
+ $_gridle-state-15-name : null !default;
168
+ $_gridle-state-15-query : null !default;
169
+ $_gridle-state-15-classes : true !default;
170
+
171
+
172
+
173
+
174
+ // |------------------------------------------------------
175
+ // |------------------------------------------------------
176
+ // | Silent classes
177
+ // |------------------------------------------------------
178
+ // |------------------------------------------------------
179
+
180
+
181
+ // Init gridle
182
+ // Creating the silent classes with user configuration :
183
+ %gridle-push-pull-debug-background-common {
184
+ background-size:50px 90%;
185
+ background-position:0 50%;
186
+ background-repeat:repeat-x;
187
+ }
188
+ %gridle-push-pull-common {
189
+ position:relative;
190
+ }
191
+ %gridle-container-common {
192
+ width:100%;
193
+
194
+ // For modern browser
195
+ &:before,
196
+ &:after {
197
+ content:"";
198
+ display:table;
199
+ }
200
+ &:after {
201
+ clear:both;
202
+ }
203
+ // For IE 6/7 (trigger hasLayout
204
+ & {
205
+ zoom:1;
206
+ }
207
+ }
208
+ %gridle-container-debug-common {
209
+ background-color:#f5f5f5;
210
+
211
+ &:before,
212
+ &:after {
213
+ content:"";
214
+ display:block;
215
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowRkEzNzVFNTg1NjgxMUUyOUI4RjhEMzg4QzM4QjZFOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowRkEzNzVFNjg1NjgxMUUyOUI4RjhEMzg4QzM4QjZFOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBGQTM3NUUzODU2ODExRTI5QjhGOEQzODhDMzhCNkU4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBGQTM3NUU0ODU2ODExRTI5QjhGOEQzODhDMzhCNkU4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8++5+BhQAAAA9JREFUeNpiYGBgkAIIMAAAHwAbZIBtGgAAAABJRU5ErkJggg==);
216
+ height:inherit;
217
+ text-align:center;
218
+ color:white;
219
+ font-size:11px;
220
+ -webkit-box-sizing: border-box;
221
+ -moz-box-sizing: border-box;
222
+ box-sizing: border-box;
223
+ }
224
+ }
225
+ %gridle-grid-debug-common {
226
+ &:before,
227
+ &:after {
228
+ content:"";
229
+ display:block;
230
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowRkEzNzVFNTg1NjgxMUUyOUI4RjhEMzg4QzM4QjZFOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowRkEzNzVFNjg1NjgxMUUyOUI4RjhEMzg4QzM4QjZFOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBGQTM3NUUzODU2ODExRTI5QjhGOEQzODhDMzhCNkU4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBGQTM3NUU0ODU2ODExRTI5QjhGOEQzODhDMzhCNkU4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8++5+BhQAAAA9JREFUeNpiYGBgkAIIMAAAHwAbZIBtGgAAAABJRU5ErkJggg==);
231
+ margin:10px 0;
232
+ padding:5px 0;
233
+ text-align:center;
234
+ color:white;
235
+ font-size:11px;
236
+ -webkit-box-sizing: border-box;
237
+ -moz-box-sizing: border-box;
238
+ box-sizing: border-box;
239
+ }
240
+ background-color:#daeff5;
241
+ }
242
+ %gridle-grid-common {
243
+ display:inline-block;
244
+ min-height:1px;
245
+ -webkit-box-sizing: border-box;
246
+ -moz-box-sizing: border-box;
247
+ box-sizing: border-box;
248
+ }
249
+ %gridle-prefix-debug-common {
250
+ background-color:#dae7e9 !important;
251
+ }
252
+ %gridle-suffix-debug-common {
253
+ background-color:#dae7e9 !important;
254
+ }
255
+
256
+
257
+
258
+
259
+ // |------------------------------------------------------
260
+ // |------------------------------------------------------
261
+ // | Common mixins
262
+ // |------------------------------------------------------
263
+ // |------------------------------------------------------
264
+
265
+
266
+ // Common css that cannot be extended cause of variables :
267
+ @mixin _gridle_grid_common() {
268
+ @extend %gridle-grid-common;
269
+ @if $gridle-direction == rtl {
270
+ float:right;
271
+ direction:rtl;
272
+ } @else {
273
+ float:left;
274
+ direction:ltr;
275
+ }
276
+ // set padding :;
277
+ padding:0 $gridle-gutter-width/2 !important;
278
+ @if $gridle-debug == true {
279
+ @extend %gridle-grid-debug-common;
280
+ }
281
+ }
282
+ @mixin _gridle_container_common() {
283
+ @extend %gridle-container-common;
284
+ // debug part :
285
+ @if ($gridle-debug == true) {
286
+ @extend %gridle-container-debug-common;
287
+ &:before {
288
+ @if $gridle-debug-show-class-names == true {
289
+ padding:10px $gridle-gutter-width/2;
290
+ content:"container-#{$gridle-columns-count}" !important;
291
+ }
292
+ }
293
+ &:after {
294
+ @if $gridle-debug-show-class-names == true {
295
+ padding:10px $gridle-gutter-width/2;
296
+ content:"end container-#{$gridle-columns-count}" !important;
297
+ }
298
+ }
299
+ }
300
+ }
301
+ @mixin _gridle_push_common() {
302
+ // extend common :
303
+ @extend %gridle-push-pull-common;
304
+ @if $gridle-debug == true {
305
+ @extend %gridle-push-pull-debug-background-common;
306
+ background-color:#f4efdf !important;
307
+ @if $gridle-direction == ltr {
308
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Rjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ1MDg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNDNkNBRDREODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FdXphgAAA39JREFUeNrs3cGKwjAUQNGm7f//8FQyo66E6oAS8/Jy7qY7peEdGyFoqbUuks5bLYEEiPRWe8sXL6XcLq3fp2PX/elhjBotboDt/2qIPvsMSIxfX9xiQSJAIBEgkEACCCSQqBcQSAQIJJAAAgkkgEACCSCQQKLAQCARIJDckBRjBwgkz5FskAACCSSAQAIJIJBAAggkkGhUIJAIEEggAQQSSACBBBJAIIEEEEggAWTsIBEgkEACCCSQAAIJJIBAAgkgkEACCCSQAJI2SAQIJJAAAgkkgEACCSCQQAIIJJAAAgkkgEACCSALJJAIEEgECCSQAAIJJIBAAgkgkEACCCSQAAIJJIBAAgkggkSAQAIJIJBAAggkkAACCSSAQAIJIJBAAggkkAAiSAARJPMiAQQSSACBBBJAIIEEEEggAQQSSACBBBJAIIEEEP2L5AcSQPQ6SAARJIAIkmmQAAIJJIBAAgkgkEACCCSQAAIJJIAIEkAEydBIAIEEEkCGywFHQPQip4ABESTxkQACCSSAQAIJIJBAAggkkAAiSAARJKdI9khIAIEkYmGQAAJJWCTlL0AESWAkgEACCSCQQAIIJJAAIkgAESRBkAACCSSAQAIJIJoPydbaCCD52xLf26XWCog+wpH1z22O2loHIOlxrHAAIjgAERzfxgEIHHAAAgccgMABByCCAxDBEQQHIHCExbHcj8ksgAiOoDgAgQMOQOCA4/12MwdH564oLhFxeILAAQcgcMABCBxwAAIHHIAIDkAEByCCY2gcgMABByBwwAEIHHAAAgccgMABByBwwAGI4ABEcGTFAQgccAACBxyAwAEHIHDAAQgccATKjza0W9cCByB6rCRe0+lw2GLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwAAIHHIAIDkAEhwCBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5NDwQOAQKHAIEDDkDggAMQOOAABA44AIEDDkDggAMQOOAABA44NAcQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOrXDAoVxA4BAgcAgQOOAABA44AIEDDkDggAMQOOBQeCBwCBA4BAgccAACBxyAwAHHdO1wNMdxGDNPEDjgAAQOOACBAw51BQKHAIFDgMABByBwwAEIHHCoAxA4NHSlVicgpAhf0iVApEz9CjAA65/oofjgOdQAAAAASUVORK5CYII=);
309
+ } @else {
310
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Qjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ0Qzg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdDQjlFNzVFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRBODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ee9ybwAAA3JJREFUeNrs3dEKgkAQQNE27f9/uJoM6iXKwFLH8Vzw1WjdwxZt2iLiIOl9R0MgASJNqp/z5K01I5znOle9GOeY8XuCFQQOOACBAw5ABAcggiMW/G0CEDjgAAQOOACBAw5ABAcggiMBjufgapvdUXRwWEG0QxzDkWKbOSBwwAEIHHAAAgccgMABByCCAxDBkRsHIHDAAQgccAACBxyAwAEHIHDAAYjgAERwbBoHIHDAAQgccAACBxyAwAEHIHDAAQgccAAiOAARHFVxAAIHHIDAAQcgcMABCBxwAAIHHIDAAQcgcMABiOAARHAAIjjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOQOCAAxA44NhjPRxligcOAQLHS9fhuJjOPmLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwqCwQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMObRUIHAIEDgECBxyAwAEHIHDAUbo+MY6qN5SAwwoCBxyAwAEHIHDAAQgccCgtEDgECBwCBA44AIEDDkDggEMrAIFDgMAhQOCAAxA4vhRwAPJrXeHxgwMQk2ik/lD3ablaCEj1p69CAggkkAACCSRaEQgkAgQSSACBBBJAIIFEa/9hChIBAgkkgEACCSCLIAlIBMhnJBdIBAgkAgQSSACBBBJAIIEEEEgg0eaAQCJAICl7YwtAIPlbJ1MSEEggAQQSSACBBBJAIIEEEEggUVEgkAgQSCABBBJIAIEEEkAggQQQSFZHYoMjIJCMZBcwIJBAAggkkAACCSSAQAIJIJBAAggkkACy4/cOiQCBBBJAIIEEEEggAQQSSACBBBJAIIEEEEggAQQSSAARJAIEEkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBBAogggQQQSCABBBJIAIEEEkAggQQQSCABBBJIABEkgAiSwkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBB0gARJEWRAAIJJIBAAgkgkEACCCSQACJIABEk+ZEAAgkkgEACCSCQQAIIJJAAojEkZ0gA0XiQACJIABEkH5G0IUAESWIkgEACCSCQQAKIIAFEkAAiSJIgAQQSSACBBJKJLzLnySPCFM2BRFYQCRBp0W4CDAAOV/Wfo7G12gAAAABJRU5ErkJggg==);
311
+ }
312
+ }
313
+ }
314
+ @mixin _gridle_pull_common() {
315
+ @extend %gridle-push-pull-common;
316
+ @if $gridle-debug == true {
317
+ @extend %gridle-push-pull-debug-background-common;
318
+ background-color:#cfe4d5 !important;
319
+ @if $gridle-direction == ltr {
320
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Qjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ0Qzg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdDQjlFNzVFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRBODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ee9ybwAAA3JJREFUeNrs3dEKgkAQQNE27f9/uJoM6iXKwFLH8Vzw1WjdwxZt2iLiIOl9R0MgASJNqp/z5K01I5znOle9GOeY8XuCFQQOOACBAw5ABAcggiMW/G0CEDjgAAQOOACBAw5ABAcggiMBjufgapvdUXRwWEG0QxzDkWKbOSBwwAEIHHAAAgccgMABByCCAxDBkRsHIHDAAQgccAACBxyAwAEHIHDAAYjgAERwbBoHIHDAAQgccAACBxyAwAEHIHDAAQgccAAiOAARHFVxAAIHHIDAAQcgcMABCBxwAAIHHIDAAQcgcMABiOAARHAAIjjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOQOCAAxA44NhjPRxligcOAQLHS9fhuJjOPmLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwqCwQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMObRUIHAIEDgECBxyAwAEHIHDAUbo+MY6qN5SAwwoCBxyAwAEHIHDAAQgccCgtEDgECBwCBA44AIEDDkDggEMrAIFDgMAhQOCAAxA4vhRwAPJrXeHxgwMQk2ik/lD3ablaCEj1p69CAggkkAACCSRaEQgkAgQSSACBBBJAIIFEa/9hChIBAgkkgEACCSCLIAlIBMhnJBdIBAgkAgQSSACBBBJAIIEEEEgg0eaAQCJAICl7YwtAIPlbJ1MSEEggAQQSSACBBBJAIIEEEEggUVEgkAgQSCABBBJIAIEEEkAggQQQSFZHYoMjIJCMZBcwIJBAAggkkAACCSSAQAIJIJBAAggkkACy4/cOiQCBBBJAIIEEEEggAQQSSACBBBJAIIEEEEggAQQSSAARJAIEEkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBBAogggQQQSCABBBJIAIEEEkAggQQQSCABBBJIABEkgAiSwkgAgQQSQCCBBBBIIAEEEkgAgQQSQCCBBBBB0gARJEWRAAIJJIBAAgkgkEACCCSQACJIABEk+ZEAAgkkgEACCSCQQAIIJJAAojEkZ0gA0XiQACJIABEkH5G0IUAESWIkgEACCSCQQAKIIAFEkAAiSJIgAQQSSACBBJKJLzLnySPCFM2BRFYQCRBp0W4CDAAOV/Wfo7G12gAAAABJRU5ErkJggg==);
321
+ } @else {
322
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQzZDQUQ0Rjg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQzZDQUQ1MDg1MDYxMUUyOEQwMjgzRjhGQkEwMDdDNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNDNkNBRDREODUwNjExRTI4RDAyODNGOEZCQTAwN0M3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNDNkNBRDRFODUwNjExRTI4RDAyODNGOEZCQTAwN0M3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FdXphgAAA39JREFUeNrs3cGKwjAUQNGm7f//8FQyo66E6oAS8/Jy7qY7peEdGyFoqbUuks5bLYEEiPRWe8sXL6XcLq3fp2PX/elhjBotboDt/2qIPvsMSIxfX9xiQSJAIBEgkEACCCSQqBcQSAQIJJAAAgkkgEACCSCQQKLAQCARIJDckBRjBwgkz5FskAACCSSAQAIJIJBAAggkkGhUIJAIEEggAQQSSACBBBJAIIEEEEggAWTsIBEgkEACCCSQAAIJJIBAAgkgkEACCCSQAJI2SAQIJJAAAgkkgEACCSCQQAIIJJAAAgkkgEACCSALJJAIEEgECCSQAAIJJIBAAgkgkEACCCSQAAIJJIBAAgkggkSAQAIJIJBAAggkkAACCSSAQAIJIJBAAggkkAAiSAARJPMiAQQSSACBBBJAIIEEEEggAQQSSACBBBJAIIEEEP2L5AcSQPQ6SAARJIAIkmmQAAIJJIBAAgkgkEACCCSQAAIJJIAIEkAEydBIAIEEEkCGywFHQPQip4ABESTxkQACCSSAQAIJIJBAAggkkAAiSAARJKdI9khIAIEkYmGQAAJJWCTlL0AESWAkgEACCSCQQAIIJJAAIkgAESRBkAACCSSAQAIJIJoPydbaCCD52xLf26XWCog+wpH1z22O2loHIOlxrHAAIjgAERzfxgEIHHAAAgccgMABByCCAxDBEQQHIHCExbHcj8ksgAiOoDgAgQMOQOCA4/12MwdH564oLhFxeILAAQcgcMABCBxwAAIHHIAIDkAEByCCY2gcgMABByBwwAEIHHAAAgccgMABByBwwAGI4ABEcGTFAQgccAACBxyAwAEHIHDAAQgccATKjza0W9cCByB6rCRe0+lw2GLBAQcgcMABCBxwAAIHHIDAAQcgcMABCBxwAAIHHIAIDkAEhwCBAw5A4IADEDjgAAQOOACBAw5A4IADEDjgAAQOOACBAw5NDwQOAQKHAIEDDkDggAMQOOAABA44AIEDDkDggAMQOOAABA44NAcQOAQIHAIEDjgAgQMOQOCAAxA44AAEDjgAgQMOrXDAoVxA4BAgcAgQOOAABA44AIEDDkDggAMQOOBQeCBwCBA4BAgccAACBxyAwAHHdO1wNMdxGDNPEDjgAAQOOACBAw51BQKHAIFDgMABByBwwAEIHHCoAxA4NHSlVicgpAhf0iVApEz9CjAA65/oofjgOdQAAAAASUVORK5CYII=);
323
+ }
324
+ }
325
+ }
326
+ @mixin _gridle_prefix_common() {
327
+ @if $gridle-debug == true {
328
+ @extend %gridle-prefix-debug-common;
329
+ }
330
+ }
331
+ @mixin _gridle_suffix_common() {
332
+ @if $gridle-debug == true {
333
+ @extend %gridle-suffix-debug-common;
334
+ }
335
+ }
336
+
337
+
338
+
339
+
340
+ // |------------------------------------------------------
341
+ // |------------------------------------------------------
342
+ // | Functions
343
+ // |------------------------------------------------------
344
+ // |------------------------------------------------------
345
+
346
+
347
+ // Get column width :
348
+ @function gridle_get_columns_width(
349
+ $columns : 1
350
+ ) {
351
+ @return percentage(1 / $gridle-columns-count * $columns);
352
+ }
353
+ @function gridle_get_column_width(
354
+ $columns : 1
355
+ ) {
356
+ @return gridle_get_columns_width($columns);
357
+ }
358
+
359
+
360
+ // Get media query by state :
361
+ // @param String $state The state name
362
+ // @return String The query
363
+ @function _get_media_query_for_state(
364
+ $state
365
+ ) {
366
+ // get the index of state :
367
+ $idx : _gridle_get_media_query_index_by_name($state);
368
+
369
+ // check if media_min-width is null :
370
+ @if $state != null {
371
+
372
+ @if $idx != null {
373
+ // get vars :
374
+ $m : _gridle_get_media_query_vars($idx,"name");
375
+ $min-width : _gridle_get_media_query_vars($idx,"min-width");
376
+ $max-width : _gridle_get_media_query_vars($idx,"max-width");
377
+ $classes : _gridle_get_media_query_vars($idx,"classes");
378
+ $query : _gridle_get_media_query_vars($idx,"query");
379
+
380
+ // check if exist :
381
+ @if $m != null {
382
+ // check if query exist :
383
+ @if $query != null {
384
+ @return $query;
385
+ } @else {
386
+ // process max and min width :
387
+ @if $min-width == null { $min-width : 0; }
388
+ @if $max-width == null { $max-width : 99999px; }
389
+ // write media query :
390
+ @return "screen and (min-width: #{$min-width}) and (max-width: #{$max-width})";
391
+ }
392
+ }
393
+ } @else if $state == 'print' or $state == print {
394
+ @return "only print";
395
+ } @else if $state == 'tv' or $state == tv {
396
+ @return "only tv";
397
+ } @else if $state == 'portrait' or $state == portrait {
398
+ @return "only screen and (orientation: portrait)";
399
+ } @else if $state == 'landscape' or $state == landscape {
400
+ @return "only screen and (orientation: landscape)";
401
+ } @else if $state == 'retina' or $state == retina {
402
+ @return "only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)";
403
+ }
404
+ } @else {
405
+ @return null;
406
+ }
407
+ }
408
+
409
+
410
+ // Get the media queries variables :
411
+ // @param int $index The media query indes
412
+ // @param String $var The media query variable name
413
+ // @return String|int The variable value
414
+ @function _gridle_get_media_query_vars(
415
+ $index : 1,
416
+ $var : "name"
417
+ ) {
418
+ @if $index == 1 {
419
+ @if $var == "name" { @return $_gridle-state-01-name; }
420
+ @else if $var == "min-width" { @return $_gridle-state-01-min-width; }
421
+ @else if $var == "max-width" { @return $_gridle-state-01-max-width; }
422
+ @else if $var == "query" { @return $_gridle-state-01-query; }
423
+ @else if $var == "classes" { @return $_gridle-state-01-classes; }
424
+ } @else if $index == 2 {
425
+ @if $var == "name" { @return $_gridle-state-02-name; }
426
+ @else if $var == "min-width" { @return $_gridle-state-02-min-width; }
427
+ @else if $var == "max-width" { @return $_gridle-state-02-max-width; }
428
+ @else if $var == "query" { @return $_gridle-state-02-query; }
429
+ @else if $var == "classes" { @return $_gridle-state-02-classes; }
430
+ } @else if $index == 3 {
431
+ @if $var == "name" { @return $_gridle-state-03-name; }
432
+ @else if $var == "min-width" { @return $_gridle-state-03-min-width; }
433
+ @else if $var == "max-width" { @return $_gridle-state-03-max-width; }
434
+ @else if $var == "query" { @return $_gridle-state-03-query; }
435
+ @else if $var == "classes" { @return $_gridle-state-03-classes; }
436
+ } @else if $index == 4 {
437
+ @if $var == "name" { @return $_gridle-state-04-name; }
438
+ @else if $var == "min-width" { @return $_gridle-state-04-min-width; }
439
+ @else if $var == "max-width" { @return $_gridle-state-04-max-width; }
440
+ @else if $var == "query" { @return $_gridle-state-04-query; }
441
+ @else if $var == "classes" { @return $_gridle-state-04-classes; }
442
+ } @else if $index == 5 {
443
+ @if $var == "name" { @return $_gridle-state-05-name; }
444
+ @else if $var == "min-width" { @return $_gridle-state-05-min-width; }
445
+ @else if $var == "max-width" { @return $_gridle-state-05-max-width; }
446
+ @else if $var == "query" { @return $_gridle-state-05-query; }
447
+ @else if $var == "classes" { @return $_gridle-state-05-classes; }
448
+ } @else if $index == 6 {
449
+ @if $var == "name" { @return $_gridle-state-06-name; }
450
+ @else if $var == "min-width" { @return $_gridle-state-06-min-width; }
451
+ @else if $var == "max-width" { @return $_gridle-state-06-max-width; }
452
+ @else if $var == "query" { @return $_gridle-state-06-query; }
453
+ @else if $var == "classes" { @return $_gridle-state-06-classes; }
454
+ } @else if $index == 7 {
455
+ @if $var == "name" { @return $_gridle-state-07-name; }
456
+ @else if $var == "min-width" { @return $_gridle-state-07-min-width; }
457
+ @else if $var == "max-width" { @return $_gridle-state-07-max-width; }
458
+ @else if $var == "query" { @return $_gridle-state-07-query; }
459
+ @else if $var == "classes" { @return $_gridle-state-07-classes; }
460
+ } @else if $index == 8 {
461
+ @if $var == "name" { @return $_gridle-state-08-name; }
462
+ @else if $var == "min-width" { @return $_gridle-state-08-min-width; }
463
+ @else if $var == "max-width" { @return $_gridle-state-08-max-width; }
464
+ @else if $var == "query" { @return $_gridle-state-08-query; }
465
+ @else if $var == "classes" { @return $_gridle-state-08-classes; }
466
+ } @else if $index == 9 {
467
+ @if $var == "name" { @return $_gridle-state-09-name; }
468
+ @else if $var == "min-width" { @return $_gridle-state-09-min-width; }
469
+ @else if $var == "max-width" { @return $_gridle-state-09-max-width; }
470
+ @else if $var == "query" { @return $_gridle-state-09-query; }
471
+ @else if $var == "classes" { @return $_gridle-state-09-classes; }
472
+ } @else if $index == 10 {
473
+ @if $var == "name" { @return $_gridle-state-10-name; }
474
+ @else if $var == "min-width" { @return $_gridle-state-10-min-width; }
475
+ @else if $var == "max-width" { @return $_gridle-state-10-max-width; }
476
+ @else if $var == "query" { @return $_gridle-state-10-query; }
477
+ @else if $var == "classes" { @return $_gridle-state-10-classes; }
478
+ } @else if $index == 11 {
479
+ @if $var == "name" { @return $_gridle-state-11-name; }
480
+ @else if $var == "min-width" { @return $_gridle-state-11-min-width; }
481
+ @else if $var == "max-width" { @return $_gridle-state-11-max-width; }
482
+ @else if $var == "query" { @return $_gridle-state-11-query; }
483
+ @else if $var == "classes" { @return $_gridle-state-11-classes; }
484
+ } @else if $index == 12 {
485
+ @if $var == "name" { @return $_gridle-state-12-name; }
486
+ @else if $var == "min-width" { @return $_gridle-state-12-min-width; }
487
+ @else if $var == "max-width" { @return $_gridle-state-12-max-width; }
488
+ @else if $var == "query" { @return $_gridle-state-12-query; }
489
+ @else if $var == "classes" { @return $_gridle-state-12-classes; }
490
+ } @else if $index == 13 {
491
+ @if $var == "name" { @return $_gridle-state-13-name; }
492
+ @else if $var == "min-width" { @return $_gridle-state-13-min-width; }
493
+ @else if $var == "max-width" { @return $_gridle-state-13-max-width; }
494
+ @else if $var == "query" { @return $_gridle-state-13-query; }
495
+ @else if $var == "classes" { @return $_gridle-state-13-classes; }
496
+ } @else if $index == 14 {
497
+ @if $var == "name" { @return $_gridle-state-14-name; }
498
+ @else if $var == "min-width" { @return $_gridle-state-14-min-width; }
499
+ @else if $var == "max-width" { @return $_gridle-state-14-max-width; }
500
+ @else if $var == "query" { @return $_gridle-state-14-query; }
501
+ @else if $var == "classes" { @return $_gridle-state-14-classes; }
502
+ } @else if $index == 15 {
503
+ @if $var == "name" { @return $_gridle-state-15-name; }
504
+ @else if $var == "min-width" { @return $_gridle-state-15-min-width; }
505
+ @else if $var == "max-width" { @return $_gridle-state-15-max-width; }
506
+ @else if $var == "query" { @return $_gridle-state-15-query; }
507
+ @else if $var == "classes" { @return $_gridle-state-15-classes; }
508
+ }
509
+ }
510
+
511
+
512
+ // Get the index of an media query by name
513
+ // @param String $name The nme of the media query
514
+ // @return int The index of the media query
515
+ @function _gridle_get_media_query_index_by_name(
516
+ $name
517
+ ) {
518
+ @if $_gridle-state-01-name == $name { @return 1; }
519
+ @else if $_gridle-state-02-name == $name { @return 2; }
520
+ @else if $_gridle-state-03-name == $name { @return 3; }
521
+ @else if $_gridle-state-04-name == $name { @return 4; }
522
+ @else if $_gridle-state-05-name == $name { @return 5; }
523
+ @else if $_gridle-state-06-name == $name { @return 6; }
524
+ @else if $_gridle-state-07-name == $name { @return 7; }
525
+ @else if $_gridle-state-08-name == $name { @return 8; }
526
+ @else if $_gridle-state-09-name == $name { @return 9; }
527
+ @else if $_gridle-state-10-name == $name { @return 10; }
528
+ @else if $_gridle-state-11-name == $name { @return 11; }
529
+ @else if $_gridle-state-12-name == $name { @return 12; }
530
+ @else if $_gridle-state-13-name == $name { @return 13; }
531
+ @else if $_gridle-state-14-name == $name { @return 14; }
532
+ @else if $_gridle-state-15-name == $name { @return 15; }
533
+ @else { @return null; }
534
+ }
535
+
536
+
537
+
538
+
539
+ // |------------------------------------------------------
540
+ // |------------------------------------------------------
541
+ // | Mixins
542
+ // |------------------------------------------------------
543
+ // |------------------------------------------------------
544
+
545
+
546
+ // Register an state :
547
+ // @param String $name The state name
548
+ // @param int $min-width The min width
549
+ // @param int $max-width The max width
550
+ @mixin gridle_register_state(
551
+ $name,
552
+ $min-width-or-query : null,
553
+ $max-width-or-classes-generation : null,
554
+ $classes-generation : true
555
+ ) {
556
+
557
+ // register new state :
558
+ @if $_gridle-state-01-name == null {
559
+ $_gridle-state-01-name : $name;
560
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
561
+ $_gridle-state-01-min-width : $min-width-or-query;
562
+ $_gridle-state-01-max-width : $max-width-or-classes-generation;
563
+ $_gridle-state-01-classes : $classes-generation;
564
+ } @else if type-of($min-width-or-query) == string {
565
+ $_gridle-state-01-query : $min-width-or-query;
566
+ @if type-of($max-width-or-classes-generation) == bool {
567
+ $_gridle-state-01-classes : $max-width-or-classes-generation;
568
+ }
569
+ }
570
+ } @else if $_gridle-state-02-name == null {
571
+ $_gridle-state-02-name : $name;
572
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
573
+ $_gridle-state-02-min-width : $min-width-or-query;
574
+ $_gridle-state-02-max-width : $max-width-or-classes-generation;
575
+ $_gridle-state-02-classes : $classes-generation;
576
+ } @else if type-of($min-width-or-query) == string {
577
+ $_gridle-state-02-query : $min-width-or-query;
578
+ @if type-of($max-width-or-classes-generation) == bool {
579
+ $_gridle-state-02-classes : $max-width-or-classes-generation;
580
+ }
581
+ }
582
+ } @else if $_gridle-state-03-name == null {
583
+ $_gridle-state-03-name : $name;
584
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
585
+ $_gridle-state-03-min-width : $min-width-or-query;
586
+ $_gridle-state-03-max-width : $max-width-or-classes-generation;
587
+ $_gridle-state-03-classes : $classes-generation;
588
+ } @else if type-of($min-width-or-query) == string {
589
+ $_gridle-state-03-query : $min-width-or-query;
590
+ @if type-of($max-width-or-classes-generation) == bool {
591
+ $_gridle-state-03-classes : $max-width-or-classes-generation;
592
+ }
593
+ }
594
+ } @else if $_gridle-state-04-name == null {
595
+ $_gridle-state-04-name : $name;
596
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
597
+ $_gridle-state-04-min-width : $min-width-or-query;
598
+ $_gridle-state-04-max-width : $max-width-or-classes-generation;
599
+ $_gridle-state-04-classes : $classes-generation;
600
+ } @else if type-of($min-width-or-query) == string {
601
+ $_gridle-state-04-query : $min-width-or-query;
602
+ @if type-of($max-width-or-classes-generation) == bool {
603
+ $_gridle-state-04-classes : $max-width-or-classes-generation;
604
+ }
605
+ }
606
+ } @else if $_gridle-state-05-name == null {
607
+ $_gridle-state-05-name : $name;
608
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
609
+ $_gridle-state-05-min-width : $min-width-or-query;
610
+ $_gridle-state-05-max-width : $max-width-or-classes-generation;
611
+ $_gridle-state-05-classes : $classes-generation;
612
+ } @else if type-of($min-width-or-query) == string {
613
+ $_gridle-state-05-query : $min-width-or-query;
614
+ @if type-of($max-width-or-classes-generation) == bool {
615
+ $_gridle-state-05-classes : $max-width-or-classes-generation;
616
+ }
617
+ }
618
+ } @else if $_gridle-state-06-name == null {
619
+ $_gridle-state-06-name : $name;
620
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
621
+ $_gridle-state-06-min-width : $min-width-or-query;
622
+ $_gridle-state-06-max-width : $max-width-or-classes-generation;
623
+ $_gridle-state-06-classes : $classes-generation;
624
+ } @else if type-of($min-width-or-query) == string {
625
+ $_gridle-state-06-query : $min-width-or-query;
626
+ @if type-of($max-width-or-classes-generation) == bool {
627
+ $_gridle-state-06-classes : $max-width-or-classes-generation;
628
+ }
629
+ }
630
+ } @else if $_gridle-state-07-name == null {
631
+ $_gridle-state-07-name : $name;
632
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
633
+ $_gridle-state-07-min-width : $min-width-or-query;
634
+ $_gridle-state-07-max-width : $max-width-or-classes-generation;
635
+ $_gridle-state-07-classes : $classes-generation;
636
+ } @else if type-of($min-width-or-query) == string {
637
+ $_gridle-state-07-query : $min-width-or-query;
638
+ @if type-of($max-width-or-classes-generation) == bool {
639
+ $_gridle-state-07-classes : $max-width-or-classes-generation;
640
+ }
641
+ }
642
+ } @else if $_gridle-state-08-name == null {
643
+ $_gridle-state-08-name : $name;
644
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
645
+ $_gridle-state-08-min-width : $min-width-or-query;
646
+ $_gridle-state-08-max-width : $max-width-or-classes-generation;
647
+ $_gridle-state-08-classes : $classes-generation;
648
+ } @else if type-of($min-width-or-query) == string {
649
+ $_gridle-state-08-query : $min-width-or-query;
650
+ @if type-of($max-width-or-classes-generation) == bool {
651
+ $_gridle-state-08-classes : $max-width-or-classes-generation;
652
+ }
653
+ }
654
+ } @else if $_gridle-state-09-name == null {
655
+ $_gridle-state-09-name : $name;
656
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
657
+ $_gridle-state-09-min-width : $min-width-or-query;
658
+ $_gridle-state-09-max-width : $max-width-or-classes-generation;
659
+ $_gridle-state-09-classes : $classes-generation;
660
+ } @else if type-of($min-width-or-query) == string {
661
+ $_gridle-state-09-query : $min-width-or-query;
662
+ @if type-of($max-width-or-classes-generation) == bool {
663
+ $_gridle-state-09-classes : $max-width-or-classes-generation;
664
+ }
665
+ }
666
+ } @else if $_gridle-state-10-name == null {
667
+ $_gridle-state-10-name : $name;
668
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
669
+ $_gridle-state-10-min-width : $min-width-or-query;
670
+ $_gridle-state-10-max-width : $max-width-or-classes-generation;
671
+ $_gridle-state-10-classes : $classes-generation;
672
+ } @else if type-of($min-width-or-query) == string {
673
+ $_gridle-state-10-query : $min-width-or-query;
674
+ @if type-of($max-width-or-classes-generation) == bool {
675
+ $_gridle-state-10-classes : $max-width-or-classes-generation;
676
+ }
677
+ }
678
+ } @else if $_gridle-state-11-name == null {
679
+ $_gridle-state-11-name : $name;
680
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
681
+ $_gridle-state-11-min-width : $min-width-or-query;
682
+ $_gridle-state-11-max-width : $max-width-or-classes-generation;
683
+ $_gridle-state-11-classes : $classes-generation;
684
+ } @else if type-of($min-width-or-query) == string {
685
+ $_gridle-state-11-query : $min-width-or-query;
686
+ @if type-of($max-width-or-classes-generation) == bool {
687
+ $_gridle-state-11-classes : $max-width-or-classes-generation;
688
+ }
689
+ }
690
+ } @else if $_gridle-state-12-name == null {
691
+ $_gridle-state-12-name : $name;
692
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
693
+ $_gridle-state-12-min-width : $min-width-or-query;
694
+ $_gridle-state-12-max-width : $max-width-or-classes-generation;
695
+ $_gridle-state-12-classes : $classes-generation;
696
+ } @else if type-of($min-width-or-query) == string {
697
+ $_gridle-state-12-query : $min-width-or-query;
698
+ @if type-of($max-width-or-classes-generation) == bool {
699
+ $_gridle-state-12-classes : $max-width-or-classes-generation;
700
+ }
701
+ }
702
+ } @else if $_gridle-state-13-name == null {
703
+ $_gridle-state-13-name : $name;
704
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
705
+ $_gridle-state-13-min-width : $min-width-or-query;
706
+ $_gridle-state-13-max-width : $max-width-or-classes-generation;
707
+ $_gridle-state-13-classes : $classes-generation;
708
+ } @else if type-of($min-width-or-query) == string {
709
+ $_gridle-state-13-query : $min-width-or-query;
710
+ @if type-of($max-width-or-classes-generation) == bool {
711
+ $_gridle-state-13-classes : $max-width-or-classes-generation;
712
+ }
713
+ }
714
+ } @else if $_gridle-state-14-name == null {
715
+ $_gridle-state-14-name : $name;
716
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
717
+ $_gridle-state-14-min-width : $min-width-or-query;
718
+ $_gridle-state-14-max-width : $max-width-or-classes-generation;
719
+ $_gridle-state-14-classes : $classes-generation;
720
+ } @else if type-of($min-width-or-query) == string {
721
+ $_gridle-state-14-query : $min-width-or-query;
722
+ @if type-of($max-width-or-classes-generation) == bool {
723
+ $_gridle-state-14-classes : $max-width-or-classes-generation;
724
+ }
725
+ }
726
+ } @else if $_gridle-state-15-name == null {
727
+ $_gridle-state-15-name : $name;
728
+ @if type-of($min-width-or-query) == number and type-of($max-width-or-classes-generation) == number {
729
+ $_gridle-state-15-min-width : $min-width-or-query;
730
+ $_gridle-state-15-max-width : $max-width-or-classes-generation;
731
+ $_gridle-state-15-classes : $classes-generation;
732
+ } @else if type-of($min-width-or-query) == string {
733
+ $_gridle-state-15-query : $min-width-or-query;
734
+ @if type-of($max-width-or-classes-generation) == bool {
735
+ $_gridle-state-15-classes : $max-width-or-classes-generation;
736
+ }
737
+ }
738
+ }
739
+ }
740
+
741
+
742
+ // Register default states :
743
+ @mixin gridle_register_default_states() {
744
+ // register mobile and tablet states :
745
+ @include gridle_register_state("mobile",0,480px);
746
+ @include gridle_register_state("tablet",481px,1024px);
747
+ }
748
+
749
+
750
+ // Responsive helpers mixins :
751
+ // @param String $media The media name to response for
752
+ @mixin gridle_responseTo(
753
+ $state-or-min-width,
754
+ $max-width : null,
755
+ $has-parent : true
756
+ ) {
757
+
758
+ // get the index of state :
759
+ $idx : _gridle_get_media_query_index_by_name($state-or-min-width);
760
+
761
+ // check if is a state :
762
+ @if type-of($state-or-min-width) == string and $gridle-html-states-classes {
763
+ // html class :
764
+ @if $has-parent {
765
+ html.#{$state-or-min-width} & { @content; }
766
+ } @else {
767
+ html.#{$state-or-min-width} { @content; }
768
+ }
769
+ }
770
+
771
+ // check if media_min-width is null :
772
+ @if $state-or-min-width != null {
773
+
774
+ @if $idx != null {
775
+ // get vars :
776
+ $m : _gridle_get_media_query_vars($idx,"name");
777
+ $min-width : _gridle_get_media_query_vars($idx,"min-width");
778
+ $max-width : _gridle_get_media_query_vars($idx,"max-width");
779
+ $classes : _gridle_get_media_query_vars($idx,"classes");
780
+ $query : _gridle_get_media_query_vars($idx,"query");
781
+
782
+ // check if exist :
783
+ @if $m != null {
784
+ // check if query exist :
785
+ @if $query != null {
786
+ @media #{$query} {
787
+ @content;
788
+ }
789
+ } @else {
790
+ // process max and min width :
791
+ @if $min-width == null { $min-width : 0; }
792
+ @if $max-width == null { $max-width : 99999px; }
793
+ // write media query :
794
+ @media screen and (min-width: $min-width) and (max-width: $max-width) { @content; }
795
+ }
796
+ }
797
+ } @else if $state-or-min-width == 'print' or $state-or-min-width == print {
798
+ @media only print {
799
+ @content;
800
+ }
801
+ } @else if $state-or-min-width == 'tv' or $state-or-min-width == tv {
802
+ @media only tv {
803
+ @content;
804
+ }
805
+ } @else if $state-or-min-width == 'portrait' or $state-or-min-width == portrait {
806
+ @media only screen and (orientation: portrait) {
807
+ @content;
808
+ }
809
+ } @else if $state-or-min-width == 'landscape' or $state-or-min-width == landscape {
810
+ @media only screen and (orientation: landscape) {
811
+ @content;
812
+ }
813
+ } @else if $state-or-min-width == 'retina' or $state-or-min-width == retina {
814
+ @media only screen and (-webkit-min-device-pixel-ratio: 2),
815
+ only screen and ( min--moz-device-pixel-ratio: 2),
816
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
817
+ only screen and ( min-device-pixel-ratio: 2),
818
+ only screen and ( min-resolution: 192dpi),
819
+ only screen and ( min-resolution: 2dppx)
820
+ {
821
+ @content;
822
+ }
823
+ } @else {
824
+ // check for min and max width :
825
+ @if $state-or-min-width != null and $max-width != null {
826
+ @media screen and (min-width: $state-or-min-width) and (max-width: $max-width) { @content; }
827
+ } @else if $state-or-min-width != null and $max-width == null {
828
+ @media screen and (min-width: $state-or-min-width) { @content; }
829
+ } @else if $state-or-min-width == null and $max-width != null {
830
+ @media screen and (max-width: $max-width) { @content; }
831
+ }
832
+ }
833
+ } @else {
834
+ @content;
835
+ }
836
+ }
837
+
838
+
839
+ // Container mixin :
840
+ @mixin gridle_container(
841
+ ) {
842
+ @include _gridle_container_common();
843
+ }
844
+
845
+
846
+ // Grid mixin :
847
+ // Set the width of the specified grid column :
848
+ // @param int $columns The columns to generate
849
+ @mixin gridle(
850
+ $columns : 12,
851
+ $state : null,
852
+ $debug-state : null
853
+ ) {
854
+ @include _gridle_grid_common();
855
+ @if $state {
856
+ @include gridle_responseTo($state) {
857
+ @include _gridle($columns, $state, $debug-state);
858
+ }
859
+ } @else {
860
+ @include _gridle($columns,$state,$debug-state);
861
+ }
862
+ }
863
+ @mixin _gridle(
864
+ $columns : 12,
865
+ $state : null,
866
+ $debug-state : null
867
+ ) {
868
+ // vars :
869
+ @if $debug-state == null { $debug-state : $state; }
870
+ $width : percentage(1 / $gridle-columns-count) * $columns;
871
+ width:$width;
872
+
873
+ // ie7 support :
874
+ @if $gridle-ie7-support == true {
875
+ *width: expression((this.parentNode.clientWidth/#{$gridle-columns-count}*#{$columns} - parseInt(this.currentStyle['paddingLeft']) - parseInt(this.currentStyle['paddingRight'])) + 'px');
876
+ }
877
+
878
+ // debug :
879
+ @if $gridle-debug == true and $gridle-debug-show-class-names == true {
880
+ &:before {
881
+ @if $debug-state != null {
882
+ content:"grid-#{$debug-state}-#{$columns * $gridle-name-multiplicator}";
883
+ } @else {
884
+ content:"grid-#{$columns * $gridle-name-multiplicator}";
885
+ }
886
+ }
887
+ &.grid-parent:before {
888
+ @if $debug-state != null {
889
+ content:"grid-parent-#{$debug-state}-#{$columns * $gridle-name-multiplicator}";
890
+ } @else {
891
+ content:"grid-parent-#{$columns * $gridle-name-multiplicator}";
892
+ }
893
+ }
894
+ }
895
+ }
896
+
897
+
898
+ // push :
899
+ // Push the element of the count of column wanted
900
+ // @param int $columns The columns to generate
901
+ // @param boolean $important Define if need to add !important at the end of the properties
902
+ @mixin gridle_push(
903
+ $columns : 12,
904
+ $state : null,
905
+ $debug-state : null
906
+ ) {
907
+ @include _gridle_push_common();
908
+ @if $state {
909
+ @include gridle_responseTo($state) {
910
+ @include _gridle_push($columns,$debug-state);
911
+ }
912
+ } @else {
913
+ @include _gridle_push($columns,$debug-state);
914
+ }
915
+ }
916
+ @mixin _gridle_push(
917
+ $columns : 12,
918
+ $debug-state : null
919
+ ) {
920
+ // vars :
921
+ $width : percentage(1 / $gridle-columns-count) * $columns;
922
+ @if $gridle-direction == rtl { $width : $width*-1; }
923
+ left:$width;
924
+
925
+ // debug css :
926
+ @if $gridle-debug == true {
927
+ @if $gridle-debug-show-class-names == true {
928
+ &:after {
929
+ @if $debug-state != null {
930
+ content:"push-#{$debug-state}-#{$columns * $gridle-name-multiplicator}" !important;
931
+ } @else {
932
+ content:"push-#{$columns * $gridle-name-multiplicator}" !important;
933
+ }
934
+ }
935
+ }
936
+ }
937
+ }
938
+
939
+
940
+ // pull :
941
+ // Pull the element of the count of column wanted
942
+ // @param int $columns The columns to generate
943
+ // @param boolean $important Define if need to add !important at the end of the properties
944
+ @mixin gridle_pull(
945
+ $columns : 12,
946
+ $state : null,
947
+ $debug-state : null
948
+ ) {
949
+ @include _gridle_pull_common();
950
+ @if $state {
951
+ @include gridle_responseTo($state) {
952
+ @include _gridle_pull($columns,$debug-state);
953
+ }
954
+ } @else {
955
+ @include _gridle_pull($columns,$debug-state);
956
+ }
957
+ }
958
+ @mixin _gridle_pull(
959
+ $columns : 12,
960
+ $debug-state : null
961
+ ) {
962
+ // vars :
963
+ $width : percentage(1 / $gridle-columns-count) * $columns;
964
+ @if $gridle-direction == rtl { $width : $width*-1; }
965
+ right:$width;
966
+
967
+ // debug css :
968
+ @if $gridle-debug == true {
969
+ @if $gridle-debug-show-class-names == true {
970
+ &:after {
971
+ @if $debug-state != null {
972
+ content:"pull-#{$debug-state}-#{$columns * $gridle-name-multiplicator}" !important;
973
+ } @else {
974
+ content:"pull-#{$columns * $gridle-name-multiplicator}" !important;
975
+ }
976
+ }
977
+ }
978
+ }
979
+ }
980
+
981
+
982
+ // push :
983
+ // Push the element of the count of column wanted
984
+ // @param int $columns The columns to generate
985
+ // @param boolean $important Define if need to add !important at the end of the properties
986
+ @mixin gridle_prefix(
987
+ $columns : 12,
988
+ $state : null,
989
+ $debug-state : null
990
+ ) {
991
+ @include _gridle_prefix_common();
992
+ @if $state {
993
+ @include gridle_responseTo($state) {
994
+ @include _gridle_prefix($columns,$debug-state);
995
+ }
996
+ } @else {
997
+ @include _gridle_prefix($columns,$debug-state);
998
+ }
999
+ }
1000
+ @mixin _gridle_prefix(
1001
+ $columns : 12,
1002
+ $debug-state : null
1003
+ ) {
1004
+ // vars :
1005
+ $width : percentage(1 / $gridle-columns-count) * $columns;
1006
+ @if $gridle-direction == rtl { margin-right:$width; }
1007
+ @else { margin-left:$width; }
1008
+
1009
+ // debug css :
1010
+ @if $gridle-debug == true {
1011
+ @if $gridle-debug-show-class-names == true {
1012
+ &:after {
1013
+ @if $debug-state != null {
1014
+ content:"prefix-#{$debug-state}-#{$columns * $gridle-name-multiplicator}" !important;
1015
+ } @else {
1016
+ content:"prefix-#{$columns * $gridle-name-multiplicator}" !important;
1017
+ }
1018
+ }
1019
+ }
1020
+ }
1021
+ }
1022
+
1023
+
1024
+ // pull :
1025
+ // Pull the element of the count of column wanted
1026
+ // @param int $columns The columns to generate
1027
+ // @param boolean $important Define if need to add !important at the end of the properties
1028
+ @mixin gridle_suffix(
1029
+ $columns : 12,
1030
+ $state : null
1031
+ ) {
1032
+ @include _gridle_suffix_common();
1033
+ @if $state {
1034
+ @include gridle_responseTo($state) {
1035
+ @include _gridle_suffix($columns,$state);
1036
+ }
1037
+ } @else {
1038
+ @include _gridle_suffix($columns,$state);
1039
+ }
1040
+ }
1041
+ @mixin _gridle_suffix(
1042
+ $columns : 12,
1043
+ $debug-state : null
1044
+ ) {
1045
+ // vars :
1046
+ $width : percentage(1 / $gridle-columns-count) * $columns;
1047
+ @if $gridle-direction == rtl { margin-left:$width; }
1048
+ @else { margin-right:$width; }
1049
+
1050
+ // debug css :
1051
+ @if $gridle-debug == true {
1052
+ @if $gridle-debug-show-class-names == true {
1053
+ &:after {
1054
+ @if $debug-state != null {
1055
+ content:"suffix-#{$debug-state}-#{$columns * $gridle-name-multiplicator}" !important;
1056
+ } @else {
1057
+ content:"suffix-#{$columns * $gridle-name-multiplicator}" !important;
1058
+ }
1059
+ }
1060
+ }
1061
+ }
1062
+ }
1063
+
1064
+
1065
+ // Grid centered :
1066
+ @mixin gridle_centered(
1067
+ $state : null
1068
+ ) {
1069
+ @if $state {
1070
+ @include gridle_responseTo($state) {
1071
+ @include _gridle_centered();
1072
+ }
1073
+ } @else {
1074
+ @include _gridle_centered();
1075
+ }
1076
+ }
1077
+ @mixin _gridle_centered() {
1078
+ display:block;
1079
+ float:none;
1080
+ margin-left:auto;
1081
+ margin-right:auto;
1082
+ clear:both;
1083
+ }
1084
+
1085
+
1086
+ // Grid parent :
1087
+ @mixin gridle_parent(
1088
+ $state : null
1089
+ ) {
1090
+ @if $state {
1091
+ @include gridle_responseTo($state) {
1092
+ @include _gridle_parent();
1093
+ }
1094
+ } @else {
1095
+ @include _gridle_parent();
1096
+ }
1097
+ }
1098
+ @mixin _gridle_parent() {
1099
+ padding-left:0 !important;
1100
+ padding-right:0 !important;
1101
+ }
1102
+
1103
+
1104
+ // Hide on :
1105
+ // @param String $media On what state
1106
+ @mixin gridle_hide(
1107
+ $state : null
1108
+ ) {
1109
+ @if $state {
1110
+ @include gridle_responseTo($state) {
1111
+ @include _gridle_hide();
1112
+ }
1113
+ } @else {
1114
+ @include _gridle_hide();
1115
+ }
1116
+ }
1117
+ @mixin _gridle_hide() {
1118
+ display:none;
1119
+ }
1120
+
1121
+
1122
+ // Not visible on :
1123
+ // @param String $media What to hide (one of the 3 state classes name)
1124
+ @mixin gridle_not_visible(
1125
+ $state : null
1126
+ ) {
1127
+ @if $state {
1128
+ @include gridle_responseTo($state) {
1129
+ @include _gridle_not_visible();
1130
+ }
1131
+ } @else {
1132
+ @include _gridle_not_visible();
1133
+ }
1134
+ }
1135
+ @mixin _gridle_not_visible() {
1136
+ visibility:hidden;
1137
+ }
1138
+
1139
+
1140
+ // Show on
1141
+ // @param String $media What to hide (one of the 3 state classes name)
1142
+ @mixin gridle_show(
1143
+ $state : null
1144
+ ) {
1145
+ @if $state {
1146
+ @include gridle_responseTo($state) {
1147
+ @include _gridle_show();
1148
+ }
1149
+ } @else {
1150
+ @include _gridle_show();
1151
+ }
1152
+ }
1153
+ @mixin _gridle_show() {
1154
+ display:block;
1155
+ }
1156
+
1157
+
1158
+ // Visible on :
1159
+ // @param String $media On what state
1160
+ @mixin gridle_visible(
1161
+ $state : null
1162
+ ) {
1163
+ @if $state {
1164
+ @include gridle_responseTo($state) {
1165
+ @include _gridle_visible();
1166
+ }
1167
+ } @else {
1168
+ @include _gridle_visible();
1169
+ }
1170
+ }
1171
+ @mixin _gridle_visible() {
1172
+ visibility:visible;
1173
+ }
1174
+
1175
+
1176
+ // Gridle Right :
1177
+ @mixin gridle_float(
1178
+ $float-direction : left,
1179
+ $state : null
1180
+ ) {
1181
+ @if $state {
1182
+ @include gridle_responseTo($state) {
1183
+ @include gridle_float($float-direction);
1184
+ }
1185
+ } @else {
1186
+ @include gridle_float($float-direction);
1187
+ }
1188
+ }
1189
+ @mixin gridle_float(
1190
+ $float-direction : left
1191
+ ) {
1192
+ float:#{$float-direction};
1193
+ }
1194
+
1195
+
1196
+ // Gridle clear :
1197
+ // @param String $clear-direction The direction to clear
1198
+ // @param String $state The state
1199
+ @mixin gridle_clear(
1200
+ $clear-direction : both,
1201
+ $state : null
1202
+ ) {
1203
+ @if $state {
1204
+ @include gridle_responseTo($state) {
1205
+ @include _gridle_clear($clear-direction);
1206
+ }
1207
+ } @else {
1208
+ @include _gridle_clear($clear-direction);
1209
+ }
1210
+ }
1211
+ @mixin _gridle_clear(
1212
+ $clear-direction : both
1213
+ ) {
1214
+ clear:#{$clear-direction};
1215
+ }
1216
+
1217
+
1218
+ // Gridle no gutter :
1219
+ // @param String $side The side to clear
1220
+ // @param String $state The state
1221
+ @mixin gridle_no_gutter(
1222
+ $side : null,
1223
+ $state : null
1224
+ ) {
1225
+ @if $state {
1226
+ @include gridle_responseTo($state) {
1227
+ @include _gridle_no_gutter($side);
1228
+ }
1229
+ } @else {
1230
+ @include _gridle_no_gutter($side);
1231
+ }
1232
+ }
1233
+ @mixin _gridle_no_gutter(
1234
+ $side : null
1235
+ ) {
1236
+
1237
+ @if $side == 'left' or $side == left {
1238
+ padding-left:0 !important;
1239
+ } @else if $side == 'right' or $side == right {
1240
+ padding-right:0 !important;
1241
+ } @else {
1242
+ padding-left:0 !important;
1243
+ padding-right:0 !important;
1244
+ }
1245
+ }
1246
+ @mixin gridle_no_margin(
1247
+ $side : null,
1248
+ $state : null
1249
+ ) {
1250
+ @include gridle_no_gutter($side, $state);
1251
+ }
1252
+
1253
+
1254
+ // Generate all helpers classes
1255
+ // All the classes generated are not wrapper in gridle_responseTo
1256
+ // in this mixin... Just the names are generated accordingly to the
1257
+ // requested state
1258
+ @mixin _gridle_generate_helper_classes (
1259
+ $state : null
1260
+ ) {
1261
+ $media : '';
1262
+ @if ($state != null) { $media : -#{$state}; }
1263
+ @else { $media : ''; }
1264
+
1265
+ .hide#{$media} {
1266
+ @include gridle_hide(null);
1267
+ }
1268
+ .not-visible#{$media} {
1269
+ @include gridle_not_visible(null);
1270
+ }
1271
+ .show#{$media} {
1272
+ @include gridle_show(null);
1273
+ }
1274
+ .visible#{$media} {
1275
+ @include gridle_visible(null);
1276
+ }
1277
+ .float#{$media}-left {
1278
+ @include gridle_float(left);
1279
+ }
1280
+ .float#{$media}-right {
1281
+ @include gridle_float(right);
1282
+ }
1283
+ .clear#{$media} {
1284
+ @include gridle_clear(both);
1285
+ }
1286
+ .clear#{$media}-left {
1287
+ @include gridle_clear(left);
1288
+ }
1289
+ .clear#{$media}-right {
1290
+ @include gridle_clear(right);
1291
+ }
1292
+ .no-gutter#{$media},
1293
+ .no-margin#{$media} {
1294
+ @include gridle_no_margin();
1295
+ }
1296
+ .no-gutter#{$media}-left,
1297
+ .no-margin#{$media}-left {
1298
+ @include gridle_no_margin(left);
1299
+ }
1300
+ .no-gutter#{$media}-right,
1301
+ .no-margin#{$media}-right {
1302
+ @include gridle_no_margin(right);
1303
+ }
1304
+ .auto-height#{$media} {
1305
+ height:inherit;
1306
+ }
1307
+ .centered#{$media} {
1308
+ @include gridle_centered(null);
1309
+ }
1310
+ [class*="grid-"].grid-parent#{$media} {
1311
+ @include gridle_parent(null);
1312
+ }
1313
+ }
1314
+
1315
+
1316
+ // gridle mixin :
1317
+ // Generate all the classes needed for a grid
1318
+ @mixin gridle_generate_classes(
1319
+ $scope : null
1320
+ ) {
1321
+ // check if a scope exist :
1322
+ @if $scope != null {
1323
+ // wrapp grid into scope :
1324
+ .#{$scope} {
1325
+ @include _gridle_generate_classes(true);
1326
+ }
1327
+ } @else {
1328
+ // generate classes :
1329
+ @include _gridle_generate_classes(false);
1330
+ }
1331
+ }
1332
+ @mixin _gridle_generate_classes(
1333
+ $has-parent
1334
+ ) {
1335
+
1336
+ // Windows 8 fix for snap mode :
1337
+ @media screen and (max-width: 400px) {
1338
+ @-ms-viewport { width: device-width; }
1339
+ }
1340
+
1341
+ // body media query content :
1342
+ $gridle-settings-states : "{";
1343
+
1344
+ // generate container class :
1345
+ $container-selector : ();
1346
+ $container-selector : $container-selector, unquote(".container, .grid-container, .container-#{$gridle-columns-count}");
1347
+ #{$container-selector} {
1348
+ @include gridle_container();
1349
+ }
1350
+
1351
+ // generate all grid-x classes :
1352
+ @for $i from 0 through $gridle-columns-count {
1353
+
1354
+ .grid-#{$i*$gridle-name-multiplicator} {
1355
+ @include _gridle($i);
1356
+ }
1357
+ @if $gridle-generate-push-classes == true {
1358
+ .push-#{$i*$gridle-name-multiplicator} {
1359
+ @include _gridle_push($i);
1360
+ }
1361
+ }
1362
+ @if $gridle-generate-pull-classes == true {
1363
+ .pull-#{$i*$gridle-name-multiplicator} {
1364
+ @include _gridle_pull($i);
1365
+ }
1366
+ }
1367
+ @if $gridle-generate-prefix-classes == true {
1368
+ .prefix-#{$i*$gridle-name-multiplicator} {
1369
+ @include _gridle_prefix($i);
1370
+ }
1371
+ }
1372
+ @if $gridle-generate-suffix-classes == true {
1373
+ .suffix-#{$i*$gridle-name-multiplicator} {
1374
+ @include _gridle_suffix($i);
1375
+ }
1376
+ }
1377
+ }
1378
+
1379
+ // helpers classes :
1380
+ @if $gridle-generate-helpers-classes == true {
1381
+ @include _gridle_generate_helper_classes();
1382
+ }
1383
+
1384
+ // generate all selector for extends :
1385
+ $push-common-selector : ();
1386
+ $pull-common-selector : ();
1387
+ $prefix-common-selector : ();
1388
+ $suffix-common-selector : ();
1389
+ $common-selector : ();
1390
+ @for $i from 0 through $gridle-columns-count {
1391
+ $push-common-selector : $push-common-selector, unquote(".push-#{$i*$gridle-name-multiplicator}");
1392
+ $pull-common-selector : $pull-common-selector, unquote(".pull-#{$i*$gridle-name-multiplicator}");
1393
+ $prefix-common-selector : $prefix-common-selector, unquote(".prefix-#{$i*$gridle-name-multiplicator}");
1394
+ $suffix-common-selector : $suffix-common-selector, unquote(".suffix-#{$i*$gridle-name-multiplicator}");
1395
+ $common-selector : $common-selector, unquote(".grid-#{$i*$gridle-name-multiplicator}");
1396
+
1397
+ // generate all classes for media queries :
1398
+ @for $j from 1 through 15 {
1399
+ // setup vars :
1400
+ $media : _gridle_get_media_query_vars($j,"name");
1401
+ $min-width : _gridle_get_media_query_vars($j,"min-width");
1402
+ $max-width : _gridle_get_media_query_vars($j,"max-width");
1403
+ $classes : _gridle_get_media_query_vars($j,"classes");
1404
+ @if $min-width == null { $min-width : 0; }
1405
+ @if $max-width == null { $max-width : 999999; }
1406
+
1407
+ // generate classes :
1408
+ @if $media != null and $classes == true {
1409
+
1410
+ $push-common-selector : $push-common-selector, unquote(".push-#{$media}-#{$i*$gridle-name-multiplicator}");
1411
+ $pull-common-selector : $pull-common-selector, unquote(".pull-#{$media}-#{$i*$gridle-name-multiplicator}");
1412
+ $prefix-common-selector : $prefix-common-selector, unquote(".prefix-#{$media}-#{$i*$gridle-name-multiplicator}");
1413
+ $suffix-common-selector : $suffix-common-selector, unquote(".suffix-#{$media}-#{$i*$gridle-name-multiplicator}");
1414
+ $common-selector : $common-selector, unquote(".grid-#{$media}-#{$i*$gridle-name-multiplicator}");
1415
+ }
1416
+ }
1417
+
1418
+ // generate all classes for usefull states :
1419
+ @if $gridle-generate-useful-states-classes != null {
1420
+ @each $state in $gridle-generate-useful-states-classes {
1421
+ $push-common-selector : $push-common-selector, unquote(".push-#{$state}-#{$i*$gridle-name-multiplicator}");
1422
+ $pull-common-selector : $pull-common-selector, unquote(".pull-#{$state}-#{$i*$gridle-name-multiplicator}");
1423
+ $prefix-common-selector : $prefix-common-selector, unquote(".prefix-#{$state}-#{$i*$gridle-name-multiplicator}");
1424
+ $suffix-common-selector : $suffix-common-selector, unquote(".suffix-#{$state}-#{$i*$gridle-name-multiplicator}");
1425
+ $common-selector : $common-selector, unquote(".grid-#{$state}-#{$i*$gridle-name-multiplicator}");
1426
+ }
1427
+ }
1428
+ }
1429
+
1430
+ // extends :
1431
+ #{$push-common-selector} {
1432
+ @include _gridle_push_common();
1433
+ }
1434
+ #{$pull-common-selector} {
1435
+ @include _gridle_pull_common();
1436
+ }
1437
+ #{$prefix-common-selector} {
1438
+ @include _gridle_prefix_common();
1439
+ }
1440
+ #{$suffix-common-selector} {
1441
+ @include _gridle_suffix_common();
1442
+ }
1443
+ #{$common-selector} {
1444
+ @include _gridle_grid_common();
1445
+ }
1446
+
1447
+ // generate all classes for differents media queries :
1448
+ @for $i from 1 through 15 {
1449
+ // setup vars :
1450
+ $media : _gridle_get_media_query_vars($i,"name");
1451
+ $min-width : _gridle_get_media_query_vars($i,"min-width");
1452
+ $max-width : _gridle_get_media_query_vars($i,"max-width");
1453
+ $classes : _gridle_get_media_query_vars($i,"classes");
1454
+
1455
+ // generate all media queries grid classes :
1456
+ @if $media != null and $classes == true {
1457
+
1458
+ // manage body query :
1459
+ $body-query : _get_media_query_for_state($media);
1460
+ @if ($body-query != null) {
1461
+ @if $i == 1 {
1462
+ $gridle-settings-states : "#{$gridle-settings-states}\"#{$media}\":\"#{$body-query}\"";
1463
+ } @else {
1464
+ $gridle-settings-states : "#{$gridle-settings-states},\"#{$media}\":\"#{$body-query}\"";
1465
+ }
1466
+ }
1467
+
1468
+ // generate all the classes :
1469
+ @include gridle_responseTo($media, null, $has-parent) {
1470
+
1471
+ @for $j from 0 through $gridle-columns-count {
1472
+
1473
+ .grid-#{$media}-#{$j*$gridle-name-multiplicator} {
1474
+ @include _gridle($j,$media);
1475
+ }
1476
+ @if $gridle-generate-push-classes == true {
1477
+ .push-#{$media}-#{$j*$gridle-name-multiplicator} {
1478
+ @include _gridle_push($j,$media);
1479
+ }
1480
+ }
1481
+ @if $gridle-generate-pull-classes == true {
1482
+ .pull-#{$media}-#{$j*$gridle-name-multiplicator} {
1483
+ @include _gridle_pull($j,$media);
1484
+ }
1485
+ }
1486
+ @if $gridle-generate-prefix-classes == true {
1487
+ .prefix-#{$media}-#{$j*$gridle-name-multiplicator} {
1488
+ @include _gridle_prefix($j,$media);
1489
+ }
1490
+ }
1491
+ @if $gridle-generate-suffix-classes == true {
1492
+ .suffix-#{$media}-#{$j*$gridle-name-multiplicator} {
1493
+ @include _gridle_suffix($j,$media);
1494
+ }
1495
+ }
1496
+ }
1497
+
1498
+ // media queries helpers classes :
1499
+ @if $gridle-generate-helpers-classes == true and $media != null {
1500
+ @include _gridle_generate_helper_classes($media);
1501
+ }
1502
+ }
1503
+ }
1504
+ }
1505
+
1506
+ // usefull states :
1507
+ @if $gridle-generate-useful-states-classes != null {
1508
+ @each $state in $gridle-generate-useful-states-classes {
1509
+
1510
+ // manage body query :
1511
+ $body-query : _get_media_query_for_state($state);
1512
+ @if ($body-query != null) {
1513
+ $gridle-settings-states : "#{$gridle-settings-states},\"#{$state}\":\"#{$body-query}\"";
1514
+ }
1515
+
1516
+ // creating classes :
1517
+ @include gridle_responseTo($state, null, $has-parent) {
1518
+
1519
+ @for $k from 0 through $gridle-columns-count {
1520
+
1521
+ .grid-#{$state}-#{$k*$gridle-name-multiplicator} {
1522
+ @include _gridle($k,$state);
1523
+ }
1524
+ @if $gridle-generate-push-classes == true {
1525
+ .push-#{$state}-#{$k*$gridle-name-multiplicator} {
1526
+ @include _gridle_push($k,$state);
1527
+ }
1528
+ }
1529
+ @if $gridle-generate-pull-classes == true {
1530
+ .pull-#{$state}-#{$k*$gridle-name-multiplicator} {
1531
+ @include _gridle_pull($k,$state);
1532
+ }
1533
+ }
1534
+ @if $gridle-generate-prefix-classes == true {
1535
+ .prefix-#{$state}-#{$k*$gridle-name-multiplicator} {
1536
+ @include _gridle_prefix($k,$state);
1537
+ }
1538
+ }
1539
+ @if $gridle-generate-suffix-classes == true {
1540
+ .suffix-#{$state}-#{$k*$gridle-name-multiplicator} {
1541
+ @include _gridle_suffix($k,$state);
1542
+ }
1543
+ }
1544
+ }
1545
+
1546
+ @if $gridle-generate-helpers-classes == true {
1547
+ @include _gridle_generate_helper_classes($state);
1548
+ }
1549
+ }
1550
+ }
1551
+ }
1552
+
1553
+ // generate settings json :
1554
+ $gridle-settings-states : "#{$gridle-settings-states}}";
1555
+ $gridle-settings : "{";
1556
+ $gridle-settings : "#{$gridle-settings} \"states\" : #{$gridle-settings-states}";
1557
+ $gridle-settings : "#{$gridle-settings}, \"columnsCount\" : #{$gridle-columns-count}";
1558
+ $gridle-settings : "#{$gridle-settings}, \"gutterWidth\" : \"#{$gridle-gutter-width}\"";
1559
+ $gridle-settings : "#{$gridle-settings}, \"nameMultiplicator\" : #{$gridle-name-multiplicator}";
1560
+ $gridle-settings : "#{$gridle-settings}, \"direction\" : \"#{$gridle-direction}\"";
1561
+ $gridle-settings : "#{$gridle-settings}, \"ie7Support\" : #{$gridle-ie7-support}";
1562
+ $gridle-settings : "#{$gridle-settings}, \"debug\" : #{$gridle-debug}";
1563
+ $gridle-settings : "#{$gridle-settings}, \"debugShowClassNames\" : #{$gridle-debug-show-class-names}";
1564
+ $gridle-settings : "#{$gridle-settings}, \"htmlStatesClasses\" : #{$gridle-html-states-classes}";
1565
+ $gridle-settings : "#{$gridle-settings}, \"generateHelpersClasses\" : #{$gridle-generate-helpers-classes}";
1566
+ $gridle-settings : "#{$gridle-settings}, \"generatePushClasses\" : #{$gridle-generate-push-classes}";
1567
+ $gridle-settings : "#{$gridle-settings}, \"generatePullClasses\" : #{$gridle-generate-pull-classes}";
1568
+ $gridle-settings : "#{$gridle-settings}, \"generatePrefixClasses\" : #{$gridle-generate-prefix-classes}";
1569
+ $gridle-settings : "#{$gridle-settings}, \"generateSuffixClasses\" : #{$gridle-generate-suffix-classes}";
1570
+ $useful-states-classes : "[";
1571
+ @for $i from 1 through length($gridle-generate-useful-states-classes) {
1572
+ @if $i > 1 {
1573
+ $useful-states-classes : "#{$useful-states-classes},";
1574
+ }
1575
+ $useful-states-classes : "#{$useful-states-classes}\"#{nth($gridle-generate-useful-states-classes,$i)}\"";
1576
+ }
1577
+ $useful-states-classes : "#{$useful-states-classes}]";
1578
+ $gridle-settings : "#{$gridle-settings}, \"generateUsefulStatesClasses\" : #{$useful-states-classes}";
1579
+ $gridle-settings : "#{$gridle-settings}}";
1580
+ #gridle-settings {
1581
+ content : $gridle-settings;
1582
+ }
1583
+ }