rapido-css 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/README.mkdn +21 -0
  2. data/lib/rapido-css.rb +3 -0
  3. data/stylesheets/_components.scss +24 -0
  4. data/stylesheets/_default-styles.scss +480 -0
  5. data/stylesheets/_functions.scss +50 -0
  6. data/stylesheets/_normalize.scss +513 -0
  7. data/stylesheets/_rapido.scss +12 -0
  8. data/stylesheets/_settings.scss +5 -0
  9. data/stylesheets/_susy.scss +16 -0
  10. data/stylesheets/_utilities.scss +8 -0
  11. data/stylesheets/components/_alerts.scss +24 -0
  12. data/stylesheets/components/_breadcrumbs.scss +15 -0
  13. data/stylesheets/components/_button-groups.scss +65 -0
  14. data/stylesheets/components/_buttons.scss +121 -0
  15. data/stylesheets/components/_captions.scss +54 -0
  16. data/stylesheets/components/_close.scss +27 -0
  17. data/stylesheets/components/_dropdowns.scss +190 -0
  18. data/stylesheets/components/_forms.scss +579 -0
  19. data/stylesheets/components/_images.scss +0 -0
  20. data/stylesheets/components/_modals.scss +271 -0
  21. data/stylesheets/components/_navs.scss +102 -0
  22. data/stylesheets/components/_pager.scss +56 -0
  23. data/stylesheets/components/_pagination.scss +90 -0
  24. data/stylesheets/components/_pills.scss +91 -0
  25. data/stylesheets/components/_responsive-navs.scss +166 -0
  26. data/stylesheets/components/_sliders.scss +86 -0
  27. data/stylesheets/components/_tables.scss +109 -0
  28. data/stylesheets/components/_tabs.scss +55 -0
  29. data/stylesheets/components/_type.scss +266 -0
  30. data/stylesheets/settings/_base.scss +32 -0
  31. data/stylesheets/settings/_colors.scss +16 -0
  32. data/stylesheets/settings/_components.scss +45 -0
  33. data/stylesheets/settings/_dimensions.scss +103 -0
  34. data/stylesheets/settings/_effects.scss +15 -0
  35. data/stylesheets/susy/_susy_background.scss +18 -0
  36. data/stylesheets/susy/_susy_functions.scss +376 -0
  37. data/stylesheets/susy/_susy_grid.scss +286 -0
  38. data/stylesheets/susy/_susy_isolation.scss +50 -0
  39. data/stylesheets/susy/_susy_margin.scss +93 -0
  40. data/stylesheets/susy/_susy_media.scss +112 -0
  41. data/stylesheets/susy/_susy_padding.scss +92 -0
  42. data/stylesheets/susy/_susy_settings.scss +56 -0
  43. data/stylesheets/susy/_susy_support.scss +198 -0
  44. data/stylesheets/susy/_susy_units.scss +159 -0
  45. data/stylesheets/utilities/_animations.scss +672 -0
  46. data/stylesheets/utilities/_debug.scss +41 -0
  47. data/stylesheets/utilities/_helper-classes.scss +32 -0
  48. data/stylesheets/utilities/_icon-fonts.scss +111 -0
  49. data/stylesheets/utilities/_media-queries.scss +45 -0
  50. data/stylesheets/utilities/_mixins.scss +372 -0
  51. data/stylesheets/utilities/_retina-sprites.scss +70 -0
  52. data/stylesheets/utilities/_sprites.scss +26 -0
  53. data/templates/project/manifest.rb +2 -0
  54. data/templates/project/screen.scss +2 -0
  55. metadata +116 -0
@@ -0,0 +1,16 @@
1
+
2
+ // ********************************************************************************************************************
3
+ // COLORI BASE
4
+ // ********************************************************************************************************************
5
+ $black: #000;
6
+ $grayDarker: lighten($black, 15);
7
+ $grayDark: lighten($black, 30);
8
+ $gray: lighten($black, 60);
9
+ $grayLight: lighten($black, 85);
10
+ $grayLighter: lighten($black, 95);
11
+ $white: lighten($black, 100);
12
+
13
+ $text-color: #333 !default;
14
+
15
+ $link-color: #0066cc !default;
16
+ $link-color-hover: darken($link-color, 10%) !default;
@@ -0,0 +1,45 @@
1
+
2
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
3
+ // Enable Components
4
+ // --------------------------------------------------------------------------------------------------------------------
5
+
6
+ $alerts: true !default;
7
+ $breadcrumbs: true !default;
8
+ $button-groups: true !default;
9
+ $buttons: true !default;
10
+ $captions: true !default;
11
+ $close: true !default;
12
+ $dropdowns: true !default;
13
+
14
+ $forms: true !default;
15
+ $forms-append: true !default;
16
+ $forms-inline: true !default;
17
+ $forms-horizontal: true !default;
18
+ $forms-columns: true !default;
19
+
20
+ $modals: true !default;
21
+ $navs: true !default;
22
+ $pager: true !default;
23
+ $pagination: true !default;
24
+ $pills: true !default;
25
+ $responsive-navs: true !default;
26
+ $tables: true !default;
27
+
28
+ $tabs: true !default;
29
+ $slider: true !default;
30
+ $modal: true !default;
31
+ $modal-buttons: true !default;
32
+ $modal-thumbs: true !default;
33
+
34
+
35
+ // Icon Fonts
36
+ // --------------------------------------------------------------------------------------------------------------------
37
+ $use-fontawesome: true !default;
38
+
39
+ $use-brandico: false !default;
40
+ $use-entypo: false !default;
41
+ $use-fontelico: false !default;
42
+ $use-maki: false !default;
43
+ $use-openweb-icons: false !default;
44
+ $use-typicons: false !default;
45
+ $use-zocial: false !default;
@@ -0,0 +1,103 @@
1
+
2
+ // ********************************************************************************************************************
3
+ // DIMENSIONS
4
+ // ********************************************************************************************************************
5
+ $base-border-radius: 4px !default;
6
+ $horizontal-offset: 180px !default;
7
+
8
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
9
+ // Text
10
+ // --------------------------------------------------------------------------------------------------------------------
11
+ $giga-size: $base-font-size * 7 !default;
12
+ $mega-size: $base-font-size * 5 !default;
13
+ $kilo-size: $base-font-size * 3.4 !default;
14
+
15
+ $h1-size: $base-font-size * 2.4 !default;
16
+ $h2-size: $base-font-size * 2 !default;
17
+ $h3-size: $base-font-size * 1.8 !default;
18
+ $h4-size: $base-font-size * 1.4 !default;
19
+ $h5-size: $base-font-size * 1.2 !default;
20
+ $h6-size: $base-font-size * 1 !default;
21
+
22
+ $milli-size: $base-font-size * .85 !default;
23
+ $micro-size: $base-font-size * .7 !default;
24
+
25
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
26
+ // Forms
27
+ // --------------------------------------------------------------------------------------------------------------------
28
+ $control-margin-bottom: $base-line-height !default;
29
+ $label-margin-bottom: 10px !default;
30
+ $input-border: 1px !default;
31
+ $input-padding-top: 10px !default;
32
+ $input-padding-side: 10px !default;
33
+
34
+ // Do not edit
35
+ $input-padding: em($input-padding-top) em($input-padding-side) ;
36
+ $input-height: em($base-font-size + ($input-padding-top * 2) + ($input-border * 2)) ;
37
+ $control-min-height: em($base-line-height + $label-margin-bottom) + $input-height - em(5px) ;
38
+
39
+
40
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
41
+ // Paddings
42
+ // --------------------------------------------------------------------------------------------------------------------
43
+
44
+ // Buttons
45
+ $btn-padding: $input-padding !default;
46
+ $btn-large-padding: $input-padding !default;
47
+ $btn-small-padding: em($input-padding-top * .5) em($input-padding-side * .8) !default;
48
+ $btn-mini-padding: em($input-padding-top * .1) em($input-padding-side * .6) !default;
49
+
50
+ // Components
51
+ $alerts-padding: $input-padding !default;
52
+ $captions-padding: $input-padding !default;
53
+ $dropdowns-padding: $input-padding !default;
54
+ $modals-error-padding: $input-padding !default;
55
+ $navs-padding: $input-padding !default;
56
+ $pager-padding: $input-padding !default;
57
+ $pagination-padding: $input-padding !default;
58
+ $pills-padding: .15em .35em !default;
59
+ $tables-padding: $input-padding !default;
60
+ $tabs-content-padding: $input-padding !default;
61
+ $tabs-tab-padding: $input-padding !default;
62
+
63
+
64
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
65
+ // Media Queries
66
+ // --------------------------------------------------------------------------------------------------------------------
67
+ $lap-start: 481px !default;
68
+ $desk-start: 768px !default;
69
+ $desk-end: 1080px !default;
70
+
71
+ $palm-end: $lap-start - 1px;
72
+ $lap-end: $desk-start - 1px;
73
+
74
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
75
+ // Grid (Susy)
76
+ // --------------------------------------------------------------------------------------------------------------------
77
+ $total-columns: 12 !default;
78
+ $column-width: 50px !default;
79
+ $gutter-width: 30px !default;
80
+ $grid-padding: 10px !default;
81
+ $container-style: fluid !default;
82
+
83
+
84
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
85
+ // Nav (resposnive-nav)
86
+ // --------------------------------------------------------------------------------------------------------------------
87
+ $responsive-nav-breakpoint: palm !default;
88
+ $responsive-nav-type: slide !default;
89
+ $responsive-nav-outside-wrapper: 'body' !default;
90
+ $responsive-nav-inside-wrapper: '.internal-wrapper' !default;
91
+ $responsive-nav-offset: 70% !default;
92
+ $responsive-nav-dropdown-pos: right !default;
93
+ $responsive-nav-toggle-size: 30px !default;
94
+
95
+
96
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
97
+ // Z-INDEX order
98
+ // --------------------------------------------------------------------------------------------------------------------
99
+ $zindex-dropdown: 1000 !default;
100
+ $zindex-popover: 1010 !default;
101
+ $zindex-tooltip: 1030 !default;
102
+ $zindex-slider: 1040 !default;
103
+ $zindex-modal: 1050 !default;
@@ -0,0 +1,15 @@
1
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
2
+ // ANIMAZIONI @include animate(...)
3
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
4
+ $animations: fadeIn, fadeOut !default;
5
+ $animations-classes: true !default;
6
+
7
+ $animations-duration: .15s !default;
8
+ $animations-delay: 0s !default;
9
+ $animations-function: ease-out !default;
10
+ $animations-mode: both !default;
11
+
12
+ // Transizioni @include transition(...)
13
+ // ------------------------------------------------------------------------------------------------------------------------
14
+ $default-transition-duration: $animations-duration !default;
15
+ $default-transition-function: toBezier($animations-function) !default;
@@ -0,0 +1,18 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ @import "compass/layout/grid-background";
5
+ @import "compass/css3/background-origin";
6
+ @import "compass/css3/background-clip";
7
+
8
+ // ---------------------------------------------------------------------------
9
+ // Susy Grid Background
10
+ //
11
+ // A wrapper for the compass "column-grid-background" mixin
12
+ // Uses all your settings to create a grid background for a container element.
13
+ // Note: Sub-pixel rounding can lead to several pixels of variation between browsers.
14
+ @mixin susy-grid-background(){
15
+ @include column-grid-background($total-columns, column(), gutter(), 0);
16
+ @include background-origin(content-box);
17
+ @include background-clip(content-box);
18
+ }
@@ -0,0 +1,376 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ // We need access to some basic font settings for handling media-queries.
5
+ @import "compass/typography/vertical_rhythm";
6
+
7
+ // For now, we also need this...
8
+ $browser-default-font-size-px : 16px;
9
+ $browser-default-font-size-percent : 100%;
10
+ $browser-default-font-size-pt : 12pt;
11
+
12
+ $rem-with-px-fallback : true !default;
13
+
14
+ // ---------------------------------------------------------------------------
15
+ // Sass list Functions
16
+
17
+ // Return a list with specific items removed
18
+ //
19
+ // filter($list, $target)
20
+ // - $list : The list to filter.
21
+ // - $target : An item to be removed from the list.
22
+ @function filter($list, $target) {
23
+ $clean: compact();
24
+ @if index($list, $target) {
25
+ @each $item in $list {
26
+ $clean: if($item == $target, $clean, append($clean, $item));
27
+ }
28
+ } @else { $clean: $list; }
29
+ @return $clean;
30
+ }
31
+
32
+ // ---------------------------------------------------------------------------
33
+ // Don't use static output when it will break things
34
+
35
+ // Switch element-level output to fluid, when container-width is wrong for static
36
+ //
37
+ // fix-static-misalignment([$style, $width])
38
+ // - $style: $container-style.
39
+ // - $width: $container-width.
40
+ @function fix-static-misalignment(
41
+ $style: $container-style,
42
+ $width: $container-width
43
+ ) {
44
+ @if $container-width and $container-width != container-outer-width($width: false) {
45
+ $style: fluid;
46
+ }
47
+ @return $style;
48
+ }
49
+
50
+ // ---------------------------------------------------------------------------
51
+ // Grid Functions
52
+
53
+ // Returns the full width of a grid based on your grid settings.
54
+ //
55
+ // $columns : The number of columns to get width for.
56
+ @function columns-width(
57
+ $columns : $total-columns
58
+ ) {
59
+ @if round($columns) != $columns {
60
+ @warn "Susy works best with integer column-spans.
61
+ For partial-columns, you may need to finesse the math by hand using functions directly.";
62
+ }
63
+ @return ($columns * $column-width) + (if($columns >= 1, ceil($columns - 1), 0) * $gutter-width);
64
+ }
65
+
66
+ // Return the grid width after adding or subtracting grid padding
67
+ //
68
+ // $width : the width of the grid without padding;
69
+ // $operation : ( add | subtract ) if padding should be added or subtracted;
70
+ @function handle-grid-padding(
71
+ $width,
72
+ $operation : subtract
73
+ ) {
74
+ $pad: $grid-padding*2;
75
+
76
+ @if comparable($width, $grid-padding) {
77
+ $width: if($operation == subtract, $width - $pad, $width + $pad);
78
+ } @else {
79
+ @warn "$grid-padding must be set in units comparable to the container width.";
80
+ }
81
+
82
+ @return $width;
83
+ }
84
+
85
+ // Return the full outer width of a Container element.
86
+ //
87
+ // $columns : The number of columns in the Grid Layout.
88
+ @function container-outer-width(
89
+ $columns : $total-columns,
90
+ $width : $container-width
91
+ ) {
92
+ $outerwidth: if($width, $width, columns-width($columns));
93
+
94
+ @if $width {
95
+ @if not $border-box-sizing { $outerwidth: handle-grid-padding($outerwidth, subtract); }
96
+ } @else {
97
+ @if $border-box-sizing { $outerwidth: handle-grid-padding($outerwidth, add); }
98
+ }
99
+
100
+ @return $outerwidth;
101
+ }
102
+
103
+ // Return the percentage width of a single column in a given 'context'.
104
+ //
105
+ // $context : The grid context in columns, if nested.
106
+ // $style : The container style to use.
107
+ @function column(
108
+ $context : $total-columns,
109
+ $style : fix-static-misalignment()
110
+ ) {
111
+ @return if($style == static, $column-width, relative-width($column-width, $context));
112
+ }
113
+
114
+ // Return the percentage width of multiple 'columns' in a given 'context'.
115
+ //
116
+ // $columns : The number of columns to get relative width for.
117
+ // $context : The grid context in columns, if nested.
118
+ // $style : The container style to use.
119
+ @function columns(
120
+ $columns,
121
+ $context : $total-columns,
122
+ $style : fix-static-misalignment()
123
+ ) {
124
+ @return if($style == static, columns-width($columns), relative-width(columns-width($columns), $context));
125
+ }
126
+
127
+ // Return the percentage width of a single gutter in a given 'context'.
128
+ //
129
+ // $context : The grid context in columns, if nested.
130
+ // $style : The container style to use.
131
+ @function gutter(
132
+ $context : $total-columns,
133
+ $style : fix-static-misalignment()
134
+ ) {
135
+ @return if($style == static, $gutter-width, relative-width($gutter-width, $context));
136
+ }
137
+
138
+ // Return the percentage width of a given value in a given 'context'.
139
+ //
140
+ // $width : Any given width value.
141
+ // $context : The grid context in columns, if nested.
142
+ @function relative-width(
143
+ $width,
144
+ $context : $total-columns
145
+ ) {
146
+ @return percentage($width / columns-width($context));
147
+ }
148
+
149
+ // Return the total space occupied by multiple columns and associated gutters.
150
+ // Useful for adding padding or margins (prefix, suffix, push, pull, etc.)
151
+ //
152
+ // $columns : The number of columns to get relative space for.
153
+ // $context : The grid context in columns, if nested.
154
+ // $style : The container style to use.
155
+ @function space(
156
+ $columns,
157
+ $context : $total-columns,
158
+ $style : fix-static-misalignment()
159
+ ) {
160
+ @return columns($columns, $context, $style) + if($columns >= 1, gutter($context, $style), 0);
161
+ }
162
+
163
+ // Accept a list including column-count and (optional) position.
164
+ // Return either the column count or the position alone.
165
+ //
166
+ // $columns : the list to split and interprate.
167
+ // $request : The value to return, either 'columns' or 'position'.
168
+ @function split-columns-value(
169
+ $columns,
170
+ $request : columns
171
+ ) {
172
+ $pos : false;
173
+ $cols : false;
174
+
175
+ @each $var in $columns {
176
+ @if (type-of($var) == 'string') {
177
+ $pos: $var;
178
+ } @else {
179
+ @if (type-of($var) == 'number') and (unitless($var)) {
180
+ $cols: $var;
181
+ } @else {
182
+ @warn '"#{$var}" is not a valid part of "$columns: #{$columns}" in the columns() mixin.';
183
+ }
184
+ }
185
+ }
186
+
187
+ @if $request == 'columns' {
188
+ @return $cols;
189
+ } @else {
190
+ @if $request == 'position' {
191
+ @return $pos;
192
+ } @else {
193
+ @warn '"#{$request}"" is not a valid value for $request';
194
+ }
195
+ }
196
+ }
197
+
198
+ // Accept nth-selector variables, and format them as a valid CSS3 selector.
199
+ //
200
+ // $n : [first | only | last | <equation>]
201
+ // $selector : [child | last-child | of-type | last-of-type ]
202
+ @function format-nth(
203
+ $n : last,
204
+ $selector : child
205
+ ) {
206
+ @if ($n == 'last') or ($n =='first') or ($n =='only') {
207
+ $selector: '#{$n}-#{$selector}';
208
+ } @else {
209
+ $selector: 'nth-#{$selector}(#{$n})';
210
+ }
211
+ @return $selector;
212
+ }
213
+
214
+ // ---------------------------------------------------------------------------
215
+ // Media Functions
216
+
217
+ // Return an em value adjusted to match the browser default font size.
218
+ // Note: This only works if actual sizes are set relative to browser defaults.
219
+ //
220
+ // $ems : The initial value to be converted.
221
+ // $font-size : The current font-size in.
222
+ @function base-ems(
223
+ $ems,
224
+ $font-size: $base-font-size
225
+ ){
226
+ $font-size : if(unit($ems) == 'rem', $base-font-size, $font-size);
227
+ $unit : unit($font-size);
228
+ $mult : $ems / ($ems * 0 + 1);
229
+
230
+ @if $unit == 'px' {
231
+ @return $font-size / $browser-default-font-size-px * $mult * 1em;
232
+ }
233
+ @else if $unit == '%' {
234
+ @return $font-size / $browser-default-font-size-percent * $mult * 1em;
235
+ }
236
+ @else if $unit == 'em' {
237
+ @return $font-size / 1em * $mult * 1em;
238
+ }
239
+ @else if $unit == 'pt' {
240
+ @return $font-size / $browser-default-font-size-pt * $mult * 1em;
241
+ }
242
+ @else {
243
+ @warn 'Variable $base-font-size does not have a valid font unit. Valid units for fonts in CSS are px, pt, em, and %.';
244
+ }
245
+ }
246
+
247
+ // This name will be deprecated...
248
+ @function absolute-ems($ems, $font-size: $base-font-size){ @return base-ems($ems, $font-size); }
249
+
250
+ // Return a length, after any em-values have been sent through absolute-ems().
251
+ //
252
+ // $length : The length value to be checked and adjusted if necessary.
253
+ // $font-size : The current font-size in px.
254
+ @function fix-ems(
255
+ $length,
256
+ $font-size: $base-font-size
257
+ ){
258
+ @if $length {
259
+ @if (unit($length) == 'em') or (unit($length) == 'rem') {
260
+ $length: absolute-ems($length,$font-size);
261
+ }
262
+ }
263
+ @return $length;
264
+ }
265
+
266
+ // Sort a list of arguments into "$min $layout $max $ie" order, and return the list.
267
+ //
268
+ // $media-layout : a list of values [$min $layout $max $ie] including...
269
+ // : - one unitless number (columns in a layout)
270
+ // : - two optional lengths (min and max-width media-query breakpoints).
271
+ // : - one optional boolean or string to trigger fallback support for IE.
272
+ // $font-size : [optional] The base font-size of your layout, if you are using ems.
273
+ // : - defaults to $base-font-size
274
+ @function medialayout(
275
+ $media-layout,
276
+ $font-size: $base-font-size
277
+ ) {
278
+ $media : false;
279
+ $min : false;
280
+ $layout : false;
281
+ $max : false;
282
+ $ie : false;
283
+ $has-layout : false;
284
+
285
+ @each $val in $media-layout {
286
+ @if (type-of($val) == "number") {
287
+ @if unitless($val) {
288
+ $layout : $val;
289
+ $has-layout : true;
290
+ } @else {
291
+ @if ($has-layout) and (not $media) {
292
+ $max: $val;
293
+ } @else {
294
+ @if $media {
295
+ $media: join($media,$val);
296
+ } @else {
297
+ $media: $val;
298
+ }
299
+ }
300
+ }
301
+ } @else {
302
+ $ie: $val;
303
+ }
304
+ }
305
+ @if (length($media) > 0) {
306
+ @if (length($media) == 1) {
307
+ $min: nth($media,1);
308
+ } @else {
309
+ $min: nth($media,1);
310
+ $max: nth($media,2);
311
+ @if comparable($min, $max) {
312
+ @if ($min > $max) {
313
+ $max: nth($media,1);
314
+ $min: nth($media,2);
315
+ }
316
+ } @else {
317
+ @warn "Can't compare incompatible units.
318
+ Using #{$min} for min-width, and #{$max} for max-width";
319
+ }
320
+ @if (length($media) > 2) {
321
+ @warn "You can only send two lengths: a min-width and an (optional) max-width.
322
+ You sent #{length($media)}: #{$media}";
323
+ }
324
+ }
325
+ }
326
+
327
+ // media-queries must be set in ems relative to the browser default
328
+ // rather than the font-size set in CSS.
329
+ $min: fix-ems($min,$font-size);
330
+ $max: fix-ems($max,$font-size);
331
+
332
+ @return $min $layout $max $ie;
333
+ }
334
+
335
+ // Return the nearest layout (column-count) above a given breakpoint.
336
+ //
337
+ // $min : The min-width media-query breakpoint above which to establish a new layout.
338
+ @function get-layout (
339
+ $min
340
+ ) {
341
+ $columns : 1;
342
+ $layout-width : container-outer-width($columns);
343
+ $return : false;
344
+ $min : fix-ems($min);
345
+
346
+ @if comparable($min, $layout-width) {
347
+ @while $min >= $layout-width {
348
+ $columns : $columns + 1;
349
+ $layout-width : container-outer-width($columns);
350
+ }
351
+ $return : $columns;
352
+ }
353
+
354
+ @return $return;
355
+ }
356
+
357
+ // Check to see if a given $media-layout list is simply the default.
358
+ //
359
+ // $media-layout : a list of values including -
360
+ // : One unitless number (columns in a layout)
361
+ // : Two optional lengths (min and max-width media-query breakpoints).
362
+ // : One optional boolean or string to trigger fallback support for IE.
363
+ @function is-default-layout(
364
+ $media-layout
365
+ ) {
366
+ $media-layout : medialayout($media-layout);
367
+ $min : nth($media-layout,1);
368
+ $layout-cols : nth($media-layout,2);
369
+ $max : nth($media-layout,3);
370
+
371
+ @if $min or $max {
372
+ @return false;
373
+ } @else {
374
+ @return if($layout-cols == $total-columns,true,false);
375
+ }
376
+ }