zurb-foundation 3.0.8.rc1 → 3.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/foundation.gemspec +1 -0
- data/index.html +1 -1
- data/lib/foundation/version.rb +1 -1
- data/lib/zurb-foundation.rb +1 -1
- data/scss/foundation.scss +2 -0
- data/scss/foundation/_settings.scss +4 -2
- data/scss/foundation/common/_base.scss +1 -0
- data/scss/foundation/common/_forms.scss +1 -1
- data/scss/foundation/common/_ratios.scss +19 -0
- data/scss/foundation/components/_grid.scss +20 -1
- data/scss/foundation/functions/_all.scss +0 -1
- data/templates/project/index.html +5 -21
- data/templates/project/manifest.rb +15 -3
- data/templates/project/scss/_settings.scss +3 -2
- data/test/grid.html +1 -1
- data/test/scss/_settings.scss +2 -3
- data/vendor/assets/javascripts/foundation/jquery.foundation.accordion.js +4 -4
- data/vendor/assets/javascripts/foundation/jquery.foundation.buttons.js +11 -11
- data/vendor/assets/javascripts/foundation/jquery.foundation.forms.js +16 -18
- data/vendor/assets/javascripts/foundation/jquery.foundation.mediaQueryToggle.js +8 -4
- data/vendor/assets/javascripts/foundation/jquery.foundation.navigation.js +4 -4
- data/vendor/assets/javascripts/foundation/jquery.foundation.reveal.js +27 -27
- data/vendor/assets/javascripts/foundation/jquery.foundation.tabs.js +7 -7
- metadata +26 -7
- data/scss/foundation/functions/_modular-scale.sass +0 -332
data/foundation.gemspec
CHANGED
data/index.html
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<title>Welcome to Foundation</title>
|
15
15
|
|
16
16
|
<!-- Included CSS Files -->
|
17
|
-
<link rel="stylesheet" href="
|
17
|
+
<link rel="stylesheet" href="test/stylesheets/styles.css">
|
18
18
|
|
19
19
|
<script src="vendor/assets/javascripts/foundation/modernizr.foundation.js"></script>
|
20
20
|
|
data/lib/foundation/version.rb
CHANGED
data/lib/zurb-foundation.rb
CHANGED
data/scss/foundation.scss
CHANGED
@@ -57,8 +57,10 @@ $complementaryWidth: 20% !default;
|
|
57
57
|
|
58
58
|
// Modular Scale Settings
|
59
59
|
|
60
|
-
$ratio: $golden
|
61
|
-
$
|
60
|
+
// $ratio: $golden; // THIS IS DEFAULT IN MODULAR-SCALE
|
61
|
+
$baseFontSize: 14px !default;
|
62
|
+
$importantModNum: 44px !default;
|
63
|
+
$base-size: $baseFontSize $importantModNum;
|
62
64
|
// Produced the following list of values: 14, 17, 23, 27, 37, 44, 59, 71, 95, 115;
|
63
65
|
// http://www.modularscale.com by Tim Brown
|
64
66
|
// https://github.com/scottkellum/modular-scale by scottkellum
|
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
@media only screen and (max-width: $screenSmall - 1) {
|
58
58
|
@for $i from 1 through $totalColumns {
|
59
|
-
input[type="text"].#{convert-number-to-word($i)}, textarea.#{convert-number-to-word($i)} { width: 100% !important; }
|
59
|
+
input[type="text"].#{convert-number-to-word($i)}, input[type="password"].#{convert-number-to-word($i)}, input[type="date"].#{convert-number-to-word($i)}, input[type="datetime"].#{convert-number-to-word($i)}, input[type="email"].#{convert-number-to-word($i)}, input[type="number"].#{convert-number-to-word($i)}, input[type="search"].#{convert-number-to-word($i)}, input[type="tel"].#{convert-number-to-word($i)}, input[type="time"].#{convert-number-to-word($i)}, input[type="url"].#{convert-number-to-word($i)}, textarea.#{convert-number-to-word($i)} { width: 100% !important; }
|
60
60
|
}
|
61
61
|
}
|
62
62
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
// Ratios
|
2
|
+
$golden: 1.618;
|
3
|
+
$gold: $golden;
|
4
|
+
$double-octave: (4 / 1);
|
5
|
+
$major-twelfth: (3 / 1);
|
6
|
+
$major-eleventh: (8 / 3);
|
7
|
+
$major-tenth: (5 / 2);
|
8
|
+
$octave: (2 / 1);
|
9
|
+
$major-seventh: (15 / 8);
|
10
|
+
$minor-seventh: (16 / 9);
|
11
|
+
$major-sixth: (5 / 3);
|
12
|
+
$minor-sixth: (8 / 5);
|
13
|
+
$fifth: (3 / 2);
|
14
|
+
$augfourth: (1 / 1.4142135623730950488); // (1 / square root 2)
|
15
|
+
$fourth: (4 / 3);
|
16
|
+
$major-third: (5 / 4);
|
17
|
+
$minor-third: (6 / 5);
|
18
|
+
$major-second: (9 / 8);
|
19
|
+
$minor-second: (16 / 15);
|
@@ -140,7 +140,26 @@ that IE7/8 do not support :nth-child.
|
|
140
140
|
|
141
141
|
/* Mobile Block Grids */
|
142
142
|
@media only screen and (max-width: $screenSmall - 1) {
|
143
|
-
.block-grid.mobile {
|
143
|
+
.block-grid.mobile {
|
144
144
|
&>li { float: none; width: 100%; margin-left: 0; }
|
145
145
|
}
|
146
|
+
|
147
|
+
.block-grid {
|
148
|
+
&>li { clear: none !important; }
|
149
|
+
&.mobile-two-up>li { width: 50%;
|
150
|
+
&:nth-child(2n+1) { clear: both; }
|
151
|
+
}
|
152
|
+
|
153
|
+
&.mobile-three-up>li { width: 33.33%;
|
154
|
+
&:nth-child(3n+1) { clear: both !important; }
|
155
|
+
}
|
156
|
+
|
157
|
+
&.mobile-four-up>li { width: 25%;
|
158
|
+
&:nth-child(4n+1) { clear: both; }
|
159
|
+
}
|
160
|
+
|
161
|
+
&.mobile-five-up>li {
|
162
|
+
&:nth-child(5n+1) { clear: both; }
|
163
|
+
}
|
164
|
+
}
|
146
165
|
}
|
@@ -121,27 +121,11 @@
|
|
121
121
|
|
122
122
|
<!-- Included JS Files (Uncompressed) -->
|
123
123
|
<script src="javascripts/foundation/jquery.js"></script>
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
<script src="javascripts/foundation/jquery.placeholder.js"></script>
|
128
|
-
<script src="javascripts/foundation/jquery.foundation.tooltips.js"></script>
|
129
|
-
<script src="javascripts/foundation/jquery.foundation.alerts.js"></script>
|
130
|
-
<script src="javascripts/foundation/jquery.foundation.buttons.js"></script>
|
131
|
-
<script src="javascripts/foundation/jquery.foundation.accordion.js"></script>
|
132
|
-
<script src="javascripts/foundation/jquery.foundation.navigation.js"></script>
|
133
|
-
<script src="javascripts/foundation/jquery.foundation.mediaQueryToggle.js"></script>
|
134
|
-
<script src="javascripts/foundation/jquery.foundation.tabs.js"></script>
|
124
|
+
<% @template[:options][:javascripts].each do |f| %>
|
125
|
+
<script src="javascripts/<%= f %>"></script>
|
126
|
+
<% end %>
|
135
127
|
|
136
|
-
|
137
|
-
|
138
|
-
<script src="javascripts/jquery.min.js"></script>
|
139
|
-
<script src="javascripts/foundation.min.js"></script>
|
140
|
-
-->
|
141
|
-
|
142
|
-
<!-- Application Javascript, safe to override -->
|
143
|
-
<script src="javascripts/foundation/app.js"></script>
|
144
|
-
|
145
|
-
|
128
|
+
<!-- Application Javascript, safe to override -->
|
129
|
+
<script src="javascripts/foundation/app.js"></script>
|
146
130
|
</body>
|
147
131
|
</html>
|
@@ -5,7 +5,6 @@ stylesheet 'scss/_settings.scss', :to => '_settings.scss
|
|
5
5
|
stylesheet 'scss/app.scss', :to => 'app.scss', :media => "screen, projector, print"
|
6
6
|
|
7
7
|
# Make sure you list all the project template files here in the manifest.
|
8
|
-
html 'index.html', :erb => true # use Foundation::VERSION
|
9
8
|
file 'humans.txt'
|
10
9
|
file 'robots.txt'
|
11
10
|
file 'MIT-LICENSE.txt'
|
@@ -15,7 +14,8 @@ file 'MIT-LICENSE.txt'
|
|
15
14
|
# outside the compass template
|
16
15
|
def copy_images_from(relative_path, prefix_path)
|
17
16
|
absolute_path = File.join(File.dirname(__FILE__), relative_path, prefix_path)
|
18
|
-
Dir.glob("#{absolute_path}/*.*")
|
17
|
+
img_files = Dir.glob("#{absolute_path}/*.*")
|
18
|
+
img_files.each do |img|
|
19
19
|
image "#{relative_path}/#{prefix_path}/#{File.basename(img)}",
|
20
20
|
:to => "#{prefix_path}/#{File.basename(img)}"
|
21
21
|
end
|
@@ -29,10 +29,22 @@ def copy_js_from(relative_path, prefix_path, excludes=[])
|
|
29
29
|
javascript "#{relative_path}/#{prefix_path}/#{File.basename(js)}",
|
30
30
|
:to => "#{prefix_path}/#{File.basename(js)}"
|
31
31
|
end
|
32
|
+
return js_files.map {|f| "#{prefix_path}/#{File.basename(f)}"}
|
32
33
|
end
|
33
34
|
|
34
35
|
copy_images_from("../../vendor/assets/images", "foundation/orbit")
|
35
|
-
copy_js_from("../../vendor/assets/javascripts", "foundation", ["index.js"])
|
36
|
+
javascripts = copy_js_from("../../vendor/assets/javascripts", "foundation", ["index.js"])
|
37
|
+
|
38
|
+
javascripts.reject! do |f|
|
39
|
+
[
|
40
|
+
"jquery.js",
|
41
|
+
"modernizr.foundation.js",
|
42
|
+
"app.js",
|
43
|
+
"jquery.offcanvas.js"
|
44
|
+
].include?(File.basename(f))
|
45
|
+
end
|
46
|
+
|
47
|
+
html 'index.html', :erb => true, :javascripts => javascripts
|
36
48
|
|
37
49
|
help %Q{
|
38
50
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
@import "foundation/
|
1
|
+
@import "foundation/common/ratios";
|
2
2
|
|
3
3
|
// Settings file containing Foundation defaults
|
4
4
|
|
@@ -55,7 +55,8 @@
|
|
55
55
|
|
56
56
|
// Modular Scale
|
57
57
|
// $ratio: $golden;
|
58
|
-
// $
|
58
|
+
// $baseFontSize: 14px;
|
59
|
+
// $importantModNum: 44px;
|
59
60
|
|
60
61
|
// Tooltip Settings
|
61
62
|
// $hasTipBorderBottom: dotted 1px #ccc;
|
data/test/grid.html
CHANGED
data/test/scss/_settings.scss
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
@import "foundation/functions/modular-scale";
|
2
|
-
|
3
1
|
// Settings file containing Foundation defaults
|
4
2
|
|
5
3
|
// Grid Settings
|
@@ -55,7 +53,8 @@
|
|
55
53
|
|
56
54
|
// Modular Scale
|
57
55
|
// $ratio: $golden;
|
58
|
-
|
56
|
+
$baseFontSize: 14px;
|
57
|
+
$importantModNum: 44px;
|
59
58
|
|
60
59
|
// Tooltip Settings
|
61
60
|
// $hasTipBorderBottom: dotted 1px #ccc;
|
@@ -1,15 +1,15 @@
|
|
1
1
|
(function ($){
|
2
|
-
|
2
|
+
|
3
3
|
$.fn.foundationAccordion = function (options) {
|
4
|
-
|
5
|
-
$(
|
4
|
+
|
5
|
+
$(document).on('click.fndtn', '.accordion li', function () {
|
6
6
|
var flyout = $(this).children('.content').first();
|
7
7
|
$('.accordion .content').not(flyout).hide().parent('li').removeClass('active');
|
8
8
|
flyout.show(0, function () {
|
9
9
|
flyout.parent('li').addClass('active');
|
10
10
|
});
|
11
11
|
});
|
12
|
-
|
12
|
+
|
13
13
|
};
|
14
14
|
|
15
15
|
})( jQuery );
|
@@ -1,33 +1,33 @@
|
|
1
1
|
(function ($) {
|
2
|
-
|
3
|
-
$.fn.foundationButtons = function(options) {
|
2
|
+
|
3
|
+
$.fn.foundationButtons = function(options) {
|
4
4
|
// Prevent event propagation on disabled buttons
|
5
|
-
$(
|
6
|
-
|
5
|
+
$(document).on('click.fndtn', '.button.disabled', function (e) {
|
6
|
+
e.preventDefault();
|
7
7
|
});
|
8
|
-
|
8
|
+
|
9
9
|
$('.button.dropdown > ul', this).addClass('no-hover');
|
10
10
|
|
11
|
-
$('.button.dropdown, .button.dropdown.split span',
|
11
|
+
$(document).on('click.fndtn', '.button.dropdown, .button.dropdown.split span', function (e) {
|
12
12
|
// Stops further propagation of the event up the DOM tree when clicked on the button.
|
13
13
|
// Events fired by its descendants are not being blocked.
|
14
14
|
if (e.target === this) {
|
15
15
|
e.stopPropagation();
|
16
16
|
}
|
17
17
|
});
|
18
|
-
$('.button.dropdown.split span',
|
18
|
+
$(document).on('click.fndtn', '.button.dropdown.split span', function (e) {
|
19
19
|
e.preventDefault();
|
20
20
|
$('.button.dropdown', this).not($(this).parent()).children('ul').removeClass('show-dropdown');
|
21
21
|
$(this).siblings('ul').toggleClass('show-dropdown');
|
22
22
|
});
|
23
|
-
$('.
|
23
|
+
$(document).on('click.fndtn', '.button.dropdown:not(.split)', function (e) {
|
24
24
|
$('.button.dropdown', this).not(this).children('ul').removeClass('show-dropdown');
|
25
25
|
$(this).children('ul').toggleClass('show-dropdown');
|
26
26
|
});
|
27
|
-
$(
|
27
|
+
$(document).on('click.fndtn', 'body, html', function () {
|
28
28
|
$('.button.dropdown ul').removeClass('show-dropdown');
|
29
29
|
});
|
30
|
-
|
30
|
+
|
31
31
|
// Positioning the Flyout List
|
32
32
|
var normalButtonHeight = $('.button.dropdown:not(.large):not(.small):not(.tiny)', this).outerHeight() - 1,
|
33
33
|
largeButtonHeight = $('.button.large.dropdown', this).outerHeight() - 1,
|
@@ -43,7 +43,7 @@
|
|
43
43
|
$('.button.dropdown.up.large > ul', this).css('top', 'auto').css('bottom', largeButtonHeight - 2);
|
44
44
|
$('.button.dropdown.up.small > ul', this).css('top', 'auto').css('bottom', smallButtonHeight - 2);
|
45
45
|
$('.button.dropdown.up.tiny > ul', this).css('top', 'auto').css('bottom', tinyButtonHeight - 2);
|
46
|
-
|
46
|
+
|
47
47
|
};
|
48
48
|
|
49
49
|
})( jQuery );
|
@@ -7,7 +7,7 @@
|
|
7
7
|
*/
|
8
8
|
|
9
9
|
(function( $ ){
|
10
|
-
|
10
|
+
|
11
11
|
/**
|
12
12
|
* Helper object used to quickly adjust all hidden parent element's, display and visibility properties.
|
13
13
|
* This is currently used for the custom drop downs. When the dropdowns are contained within a reveal modal
|
@@ -39,25 +39,25 @@
|
|
39
39
|
adjust : function( $child ) {
|
40
40
|
// Internal reference.
|
41
41
|
var _self = this;
|
42
|
-
|
42
|
+
|
43
43
|
// Set all hidden parent elements, including this element.
|
44
44
|
_self.hidden = $child.parents().andSelf().filter( ":hidden" );
|
45
|
-
|
45
|
+
|
46
46
|
// Loop through all hidden elements.
|
47
47
|
_self.hidden.each( function() {
|
48
|
-
|
48
|
+
|
49
49
|
// Cache the element.
|
50
50
|
var $elem = $( this );
|
51
|
-
|
51
|
+
|
52
52
|
// Store the style attribute.
|
53
53
|
// Undefined if element doesn't have a style attribute.
|
54
54
|
_self.tmp.push( $elem.attr( 'style' ) );
|
55
|
-
|
55
|
+
|
56
56
|
// Set the element's display property to block,
|
57
57
|
// but ensure it's visibility is hidden.
|
58
58
|
$elem.css( { 'visibility' : 'hidden', 'display' : 'block' } );
|
59
59
|
});
|
60
|
-
|
60
|
+
|
61
61
|
}, // end adjust
|
62
62
|
|
63
63
|
/**
|
@@ -96,7 +96,7 @@
|
|
96
96
|
|
97
97
|
jQuery.foundation = jQuery.foundation || {};
|
98
98
|
jQuery.foundation.customForms = jQuery.foundation.customForms || {};
|
99
|
-
|
99
|
+
|
100
100
|
$.foundation.customForms.appendCustomMarkup = function ( options ) {
|
101
101
|
|
102
102
|
var defaults = {
|
@@ -207,7 +207,7 @@
|
|
207
207
|
// Insert the the currently selected list item before all other elements.
|
208
208
|
// Then, find the element and assign it to $currentSelect.
|
209
209
|
//
|
210
|
-
|
210
|
+
|
211
211
|
$currentSelect = $customSelect.prepend( '<a href="#" class="current">' + $selectedOption.html() + '</a>' ).find( ".current" );
|
212
212
|
//
|
213
213
|
// Add the custom select element after the <select> element.
|
@@ -260,7 +260,7 @@
|
|
260
260
|
if ($currentSelect) {
|
261
261
|
$currentSelect.html( $( this ).html() );
|
262
262
|
}
|
263
|
-
|
263
|
+
|
264
264
|
}
|
265
265
|
|
266
266
|
});
|
@@ -366,11 +366,9 @@
|
|
366
366
|
var $input = $element.prev(),
|
367
367
|
input = $input[0];
|
368
368
|
|
369
|
-
if (false
|
369
|
+
if (false === $input.is(':disabled')) {
|
370
370
|
input.checked = ((input.checked) ? false : true);
|
371
371
|
$element.toggleClass('checked');
|
372
|
-
|
373
|
-
$input.trigger('change');
|
374
372
|
}
|
375
373
|
};
|
376
374
|
|
@@ -378,7 +376,7 @@
|
|
378
376
|
var $input = $element.prev(),
|
379
377
|
input = $input[0];
|
380
378
|
|
381
|
-
if (false
|
379
|
+
if (false === $input.is(':disabled')) {
|
382
380
|
$('input:radio[name="' + $input.attr('name') + '"]').each(function () {
|
383
381
|
$(this).next().removeClass('checked');
|
384
382
|
});
|
@@ -432,7 +430,7 @@
|
|
432
430
|
event.preventDefault();
|
433
431
|
$('div.dropdown').removeClass('open');
|
434
432
|
|
435
|
-
if (false
|
433
|
+
if (false === $select.is(':disabled')) {
|
436
434
|
$dropdown.toggleClass('open');
|
437
435
|
|
438
436
|
if ($dropdown.hasClass('open')) {
|
@@ -477,9 +475,9 @@
|
|
477
475
|
$select[0].selectedIndex = selectedIndex;
|
478
476
|
|
479
477
|
$select.trigger('change');
|
480
|
-
});
|
481
|
-
|
482
|
-
|
478
|
+
});
|
479
|
+
|
480
|
+
|
483
481
|
$.fn.foundationCustomForms = $.foundation.customForms.appendCustomMarkup;
|
484
482
|
|
485
483
|
})( jQuery );
|
@@ -2,12 +2,16 @@
|
|
2
2
|
|
3
3
|
$.fn.foundationMediaQueryViewer = function (options) {
|
4
4
|
|
5
|
-
var settings = $.extend(options,{toggleKey:77}); // Press 'M'
|
6
|
-
|
7
|
-
|
5
|
+
var settings = $.extend(options,{toggleKey:77}); // // Press 'M'
|
6
|
+
$(document).on("keyup.mediaQueryViewer", ":input", function(e){
|
7
|
+
if (e.which === settings.toggleKey) {
|
8
|
+
e.stopPropagation();
|
9
|
+
}
|
10
|
+
});
|
11
|
+
$(document).on("keyup.mediaQueryViewer", function(e) {
|
8
12
|
var $mqViewer = $('#fqv');
|
9
13
|
|
10
|
-
if (e.
|
14
|
+
if (e.which === settings.toggleKey) {
|
11
15
|
if ($mqViewer.length > 0) {
|
12
16
|
$mqViewer.remove();
|
13
17
|
} else {
|
@@ -1,11 +1,11 @@
|
|
1
1
|
(function ($){
|
2
|
-
|
2
|
+
|
3
3
|
$.fn.foundationNavigation = function (options) {
|
4
|
-
|
4
|
+
|
5
5
|
var lockNavBar = false;
|
6
6
|
// Windows Phone, sadly, does not register touch events :(
|
7
7
|
if (Modernizr.touch || navigator.userAgent.match(/Windows Phone/i)) {
|
8
|
-
$(
|
8
|
+
$(document).on('click.fndtn touchstart.fndtn', '.nav-bar a.flyout-toggle', function (e) {
|
9
9
|
e.preventDefault();
|
10
10
|
var flyout = $(this).siblings('.flyout').first();
|
11
11
|
if (lockNavBar === false) {
|
@@ -24,7 +24,7 @@
|
|
24
24
|
$(this).children('.flyout').hide();
|
25
25
|
});
|
26
26
|
}
|
27
|
-
|
27
|
+
|
28
28
|
};
|
29
29
|
|
30
30
|
})( jQuery );
|
@@ -14,11 +14,11 @@
|
|
14
14
|
// Helps us determine if the current modal is being queued for display.
|
15
15
|
//
|
16
16
|
var modalQueued = false;
|
17
|
-
|
17
|
+
|
18
18
|
//
|
19
19
|
// Bind the live 'click' event to all anchor elemnets with the data-reveal-id attribute.
|
20
20
|
//
|
21
|
-
$( 'a[data-reveal-id]'
|
21
|
+
$(document).on('click', 'a[data-reveal-id]', function ( event ) {
|
22
22
|
//
|
23
23
|
// Prevent default action of the event.
|
24
24
|
//
|
@@ -219,11 +219,11 @@
|
|
219
219
|
//
|
220
220
|
modalBg.fadeTo( 'fast', 0.8 );
|
221
221
|
}
|
222
|
-
|
222
|
+
|
223
223
|
//
|
224
224
|
// Helper Methods
|
225
225
|
//
|
226
|
-
|
226
|
+
|
227
227
|
/**
|
228
228
|
* Unlock the modal for animation.
|
229
229
|
*
|
@@ -241,7 +241,7 @@
|
|
241
241
|
function lockModal() {
|
242
242
|
locked = true;
|
243
243
|
}
|
244
|
-
|
244
|
+
|
245
245
|
/**
|
246
246
|
* Closes all open modals.
|
247
247
|
*
|
@@ -265,7 +265,7 @@
|
|
265
265
|
//
|
266
266
|
$openModals.trigger( "reveal:close" );
|
267
267
|
}
|
268
|
-
|
268
|
+
|
269
269
|
}
|
270
270
|
/**
|
271
271
|
* Animates the modal opening.
|
@@ -316,7 +316,7 @@
|
|
316
316
|
// So, faster than the modal element.
|
317
317
|
//
|
318
318
|
modalBg.fadeIn( options.animationSpeed / 2 );
|
319
|
-
|
319
|
+
|
320
320
|
//
|
321
321
|
// Let's delay the next animation queue.
|
322
322
|
// We'll wait until the background element is faded in.
|
@@ -349,7 +349,7 @@
|
|
349
349
|
// This should trigger the functions set in the options.opened property.
|
350
350
|
//
|
351
351
|
modal.trigger( 'reveal:opened' );
|
352
|
-
|
352
|
+
|
353
353
|
}); // end of animate.
|
354
354
|
|
355
355
|
} // end if 'fadeAndPop'
|
@@ -406,7 +406,7 @@
|
|
406
406
|
// This should trigger the functions set in the options.opened property.
|
407
407
|
//
|
408
408
|
modal.trigger( 'reveal:opened' );
|
409
|
-
|
409
|
+
|
410
410
|
});
|
411
411
|
|
412
412
|
} // end if 'fade'
|
@@ -439,11 +439,11 @@
|
|
439
439
|
// Trigger the modal opened event.
|
440
440
|
//
|
441
441
|
modal.trigger( 'reveal:opened' );
|
442
|
-
|
442
|
+
|
443
443
|
} // end if animating 'none'
|
444
|
-
|
444
|
+
|
445
445
|
}// end if !locked
|
446
|
-
|
446
|
+
|
447
447
|
}// end openAnimation
|
448
448
|
|
449
449
|
//
|
@@ -489,7 +489,7 @@
|
|
489
489
|
// Fade the modal out, by using the opacity property.
|
490
490
|
//
|
491
491
|
"opacity": 0
|
492
|
-
|
492
|
+
|
493
493
|
},
|
494
494
|
/*
|
495
495
|
* Fade speed.
|
@@ -503,7 +503,7 @@
|
|
503
503
|
// Set the css hidden options.
|
504
504
|
//
|
505
505
|
modal.css( cssOpts.close );
|
506
|
-
|
506
|
+
|
507
507
|
});
|
508
508
|
//
|
509
509
|
// Is the modal animation queued?
|
@@ -541,13 +541,13 @@
|
|
541
541
|
// This should trigger any method set in the options.closed propety.
|
542
542
|
//
|
543
543
|
modal.trigger( 'reveal:closed' );
|
544
|
-
|
544
|
+
|
545
545
|
} // end if !modalQueued
|
546
546
|
//
|
547
547
|
// Reset the modalQueued variable.
|
548
548
|
//
|
549
549
|
modalQueued = false;
|
550
|
-
|
550
|
+
|
551
551
|
} // end if animation 'fadeAndPop'
|
552
552
|
|
553
553
|
//
|
@@ -609,9 +609,9 @@
|
|
609
609
|
// This should trigger any method set in the options.closed propety.
|
610
610
|
//
|
611
611
|
modal.trigger( 'reveal:closed' );
|
612
|
-
|
612
|
+
|
613
613
|
} // end if !modalQueued
|
614
|
-
|
614
|
+
|
615
615
|
} // end if animation 'fade'
|
616
616
|
|
617
617
|
//
|
@@ -637,11 +637,11 @@
|
|
637
637
|
// This should trigger any method set in the options.closed propety.
|
638
638
|
//
|
639
639
|
modal.trigger( 'reveal:closed' );
|
640
|
-
|
640
|
+
|
641
641
|
} // end if not animating
|
642
642
|
|
643
643
|
} // end if !locked
|
644
|
-
|
644
|
+
|
645
645
|
} // end closeAnimation
|
646
646
|
|
647
647
|
/**
|
@@ -666,7 +666,7 @@
|
|
666
666
|
// Unbind all .reveal events from the body.
|
667
667
|
//
|
668
668
|
$( 'body' ).unbind( '.reveal' );
|
669
|
-
|
669
|
+
|
670
670
|
}
|
671
671
|
|
672
672
|
//
|
@@ -703,7 +703,7 @@
|
|
703
703
|
// Handled by the options.closed property function.
|
704
704
|
//
|
705
705
|
modal.bind( 'reveal:closed.reveal', options.closed );
|
706
|
-
|
706
|
+
|
707
707
|
//
|
708
708
|
// We're running this for the first time.
|
709
709
|
// Trigger the modal 'open' event.
|
@@ -724,7 +724,7 @@
|
|
724
724
|
modal.trigger( 'reveal:close' );
|
725
725
|
|
726
726
|
});
|
727
|
-
|
727
|
+
|
728
728
|
//
|
729
729
|
// Should we close the modal background on click?
|
730
730
|
//
|
@@ -743,9 +743,9 @@
|
|
743
743
|
// Trigger the modal 'close' event.
|
744
744
|
//
|
745
745
|
modal.trigger( 'reveal:close' );
|
746
|
-
|
746
|
+
|
747
747
|
});
|
748
|
-
|
748
|
+
|
749
749
|
}
|
750
750
|
|
751
751
|
//
|
@@ -763,11 +763,11 @@
|
|
763
763
|
//
|
764
764
|
modal.trigger( 'reveal:close' );
|
765
765
|
}
|
766
|
-
|
766
|
+
|
767
767
|
}); // end $(body)
|
768
768
|
|
769
769
|
}); // end this.each
|
770
|
-
|
770
|
+
|
771
771
|
}; // end $.fn
|
772
772
|
|
773
773
|
} ( jQuery ) );
|
@@ -1,11 +1,11 @@
|
|
1
1
|
(function ($) {
|
2
|
-
|
2
|
+
|
3
3
|
$.fn.foundationTabs = function (options) {
|
4
|
-
|
4
|
+
|
5
5
|
var settings = $.extend({
|
6
6
|
callback: $.noop
|
7
7
|
}, options);
|
8
|
-
|
8
|
+
|
9
9
|
var activateTab = function ($tab) {
|
10
10
|
var $activeTab = $tab.closest('dl').find('dd.active'),
|
11
11
|
contentLocation = $tab.children('a').attr("href") + 'Tab';
|
@@ -21,16 +21,16 @@
|
|
21
21
|
$(contentLocation).closest('.tabs-content').children('li').removeClass('active').hide();
|
22
22
|
$(contentLocation).css('display', 'block').addClass('active');
|
23
23
|
};
|
24
|
-
|
25
|
-
$('dl.tabs dd a',
|
24
|
+
|
25
|
+
$(document).on('click.fndtn', 'dl.tabs dd a', function (event){
|
26
26
|
activateTab($(this).parent('dd'));
|
27
27
|
});
|
28
|
-
|
28
|
+
|
29
29
|
if (window.location.hash) {
|
30
30
|
activateTab($('a[href="' + window.location.hash + '"]').parent('dd'));
|
31
31
|
settings.callback();
|
32
32
|
}
|
33
|
-
|
33
|
+
|
34
34
|
};
|
35
35
|
|
36
36
|
})(jQuery);
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zurb-foundation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.8
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.8
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- ZURB
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: compass
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 3.2.0.alpha.244
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: modular-scale
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.0.0
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.0
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: rake
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,6 +106,7 @@ files:
|
|
90
106
|
- scss/foundation/common/_base.scss
|
91
107
|
- scss/foundation/common/_forms.scss
|
92
108
|
- scss/foundation/common/_globals.scss
|
109
|
+
- scss/foundation/common/_ratios.scss
|
93
110
|
- scss/foundation/common/_typography.scss
|
94
111
|
- scss/foundation/components/_grid.scss
|
95
112
|
- scss/foundation/components/modules/_all.scss
|
@@ -103,7 +120,6 @@ files:
|
|
103
120
|
- scss/foundation/functions/_all.scss
|
104
121
|
- scss/foundation/functions/_convert-number-to-word.scss
|
105
122
|
- scss/foundation/functions/_grid-calc.scss
|
106
|
-
- scss/foundation/functions/_modular-scale.sass
|
107
123
|
- scss/foundation/mixins/_all.scss
|
108
124
|
- scss/foundation/mixins/_clearfix.scss
|
109
125
|
- scss/foundation/mixins/_css-triangle.scss
|
@@ -177,13 +193,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
193
|
version: '0'
|
178
194
|
segments:
|
179
195
|
- 0
|
180
|
-
hash:
|
196
|
+
hash: 2494856150602114202
|
181
197
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
198
|
none: false
|
183
199
|
requirements:
|
184
|
-
- - ! '
|
200
|
+
- - ! '>='
|
185
201
|
- !ruby/object:Gem::Version
|
186
|
-
version:
|
202
|
+
version: '0'
|
203
|
+
segments:
|
204
|
+
- 0
|
205
|
+
hash: 2494856150602114202
|
187
206
|
requirements: []
|
188
207
|
rubyforge_project:
|
189
208
|
rubygems_version: 1.8.23
|
@@ -1,332 +0,0 @@
|
|
1
|
-
// SASSY MODULAR-SCALE
|
2
|
-
// https://github.com/scottkellum/modular-scale
|
3
|
-
|
4
|
-
@charset "UTF-8"
|
5
|
-
|
6
|
-
// Ratios
|
7
|
-
$golden: 1.618
|
8
|
-
$gold: $golden
|
9
|
-
$double-octave: (4 / 1)
|
10
|
-
$major-twelfth: (3 / 1)
|
11
|
-
$major-eleventh: (8 / 3)
|
12
|
-
$major-tenth: (5 / 2)
|
13
|
-
$octave: (2 / 1)
|
14
|
-
$major-seventh: (15 / 8)
|
15
|
-
$minor-seventh: (16 / 9)
|
16
|
-
$major-sixth: (5 / 3)
|
17
|
-
$minor-sixth: (8 / 5)
|
18
|
-
$fifth: (3 / 2)
|
19
|
-
$augfourth: (1 / 1.4142135623730950488) // (1 / square root 2)
|
20
|
-
$fourth: (4 / 3)
|
21
|
-
$major-third: (5 / 4)
|
22
|
-
$minor-third: (6 / 5)
|
23
|
-
$major-second: (9 / 8)
|
24
|
-
$minor-second: (16 / 15)
|
25
|
-
|
26
|
-
// Defaults
|
27
|
-
// $ratio: $golden !default
|
28
|
-
// $base-size: 16px !default
|
29
|
-
$property: font-size !default
|
30
|
-
$class-slug: ms !default
|
31
|
-
|
32
|
-
// Modular Scale function
|
33
|
-
@function modular-scale($multiple, $base-size, $ratio)
|
34
|
-
// return the $base-size if $multiple is zero
|
35
|
-
@if $multiple == 0
|
36
|
-
@if type-of($base-size) == 'list'
|
37
|
-
$base-size: sort-list($base-size)
|
38
|
-
@return nth($base-size, 1)
|
39
|
-
// return just the simple $base-size value if it's not a list
|
40
|
-
@return $base-size
|
41
|
-
|
42
|
-
// if multiple base-sizes are passed in as a list
|
43
|
-
// and multiple ratios are passed in as a list
|
44
|
-
// calculate values in using each base-size / ratio combination
|
45
|
-
@if type-of($base-size) == 'list' and type-of($ratio) == 'list'
|
46
|
-
@if unit(ms-multibase-multiratio($multiple, $base-size, $ratio)) == 'px'
|
47
|
-
@return round(ms-multibase-multiratio($multiple, $base-size, $ratio))
|
48
|
-
@return ms-multibase-multiratio($multiple, $base-size, $ratio)
|
49
|
-
|
50
|
-
// if multiple base-sizes are passed in as a list
|
51
|
-
// calculate values in using each base-size
|
52
|
-
@if type-of($base-size) == 'list' and type-of($ratio) == 'number'
|
53
|
-
@if unit(ms-multibase($multiple, $base-size, $ratio)) == 'px'
|
54
|
-
@return round(ms-multibase($multiple, $base-size, $ratio))
|
55
|
-
@return ms-multibase($multiple, $base-size, $ratio)
|
56
|
-
|
57
|
-
// if multiple ratios are passed in as a list
|
58
|
-
// calculate values in using each ratio
|
59
|
-
@if type-of($base-size) == 'number' and type-of($ratio) == 'list'
|
60
|
-
@if unit(ms-multiratio($multiple, $base-size, $ratio)) == 'px'
|
61
|
-
@return round(ms-multiratio($multiple, $base-size, $ratio))
|
62
|
-
@return ms-multiratio($multiple, $base-size, $ratio)
|
63
|
-
|
64
|
-
// If there are no lists just run the simple function
|
65
|
-
@if unit(exponent($ratio, $multiple) * $base-size) == 'px'
|
66
|
-
@return round(exponent($ratio, $multiple) * $base-size)
|
67
|
-
@return exponent($ratio, $multiple) * $base-size
|
68
|
-
|
69
|
-
|
70
|
-
// calculate values in using each base-size / ratio combination
|
71
|
-
@function ms-multibase-multiratio($multiple, $base-size, $ratio)
|
72
|
-
// start with an empty list to place all values in
|
73
|
-
$scale-values: ()
|
74
|
-
// make sure base sizes are in ascending order
|
75
|
-
$base-size: sort-list($base-size)
|
76
|
-
// take each base-size in turn
|
77
|
-
$k: 1
|
78
|
-
@while $k <= length($base-size)
|
79
|
-
// add each $base-size to the list except the first
|
80
|
-
@if $k > 1
|
81
|
-
$scale-values: append($scale-values, nth($base-size, $k))
|
82
|
-
// take each ratio in turn
|
83
|
-
$j: 1
|
84
|
-
@while $j <= length($ratio)
|
85
|
-
// reset $modular-scale for each set
|
86
|
-
$modular-scale: nth($base-size, $k)
|
87
|
-
// do the scale for each base-size using this ratio
|
88
|
-
@if $multiple > 0
|
89
|
-
// up $multiple times
|
90
|
-
// and add the result to $scale-values
|
91
|
-
@for $i from 1 through $multiple
|
92
|
-
$modular-scale: exponent(nth($ratio, $j), $i) * nth($base-size, $k)
|
93
|
-
$scale-values: append($scale-values, $modular-scale)
|
94
|
-
// and down until the value is lower than the lowest $base-size
|
95
|
-
// and add the result to $scale-values
|
96
|
-
$i: -1
|
97
|
-
$modular-scale: nth($base-size, $k)
|
98
|
-
@while $modular-scale >= nth($base-size, 1)
|
99
|
-
$modular-scale: exponent(nth($ratio, $j), $i) * nth($base-size, $k)
|
100
|
-
$scale-values: append($scale-values, $modular-scale)
|
101
|
-
$i: $i - 1
|
102
|
-
@if $multiple < 0
|
103
|
-
// do the scale down for each set to below 1px
|
104
|
-
$i: -1
|
105
|
-
$modular-scale: nth($base-size, $k)
|
106
|
-
@while $modular-scale > 1
|
107
|
-
$modular-scale: exponent(nth($ratio, $j), $i) * nth($base-size, $k)
|
108
|
-
$scale-values: append($scale-values, $modular-scale)
|
109
|
-
$i: $i - 1
|
110
|
-
$j: $j + 1
|
111
|
-
$k: $k + 1
|
112
|
-
// return trimmed and sorted final list
|
113
|
-
@return trim-sort($multiple, $scale-values, $base-size)
|
114
|
-
|
115
|
-
|
116
|
-
// calculate values in using each base-size
|
117
|
-
@function ms-multibase($multiple, $base-size, $ratio)
|
118
|
-
// start with an empty list to place all values in
|
119
|
-
$scale-values: ()
|
120
|
-
// make sure base sizes are in ascending order
|
121
|
-
$base-size: sort-list($base-size)
|
122
|
-
// take each base-size in turn
|
123
|
-
$k: 1
|
124
|
-
@while $k <= length($base-size)
|
125
|
-
// add each $base-size to the list except the first
|
126
|
-
@if $k > 1
|
127
|
-
$scale-values: append($scale-values, nth($base-size, $k))
|
128
|
-
// reset $modular-scale for each set
|
129
|
-
$modular-scale: nth($base-size, $k)
|
130
|
-
// do the scale for each base-size using this ratio
|
131
|
-
@if $multiple > 0
|
132
|
-
// up $multiple times
|
133
|
-
// and add the result to $scale-values
|
134
|
-
@for $i from 1 through $multiple
|
135
|
-
$modular-scale: exponent($ratio, $i) * nth($base-size, $k)
|
136
|
-
$scale-values: append($scale-values, $modular-scale)
|
137
|
-
// and down until the value is lower than the lowest $base-size
|
138
|
-
// and add the result to $scale-values
|
139
|
-
$i: -1
|
140
|
-
$modular-scale: nth($base-size, $k)
|
141
|
-
@while $modular-scale >= nth($base-size, 1)
|
142
|
-
$modular-scale: exponent($ratio, $i) * nth($base-size, $k)
|
143
|
-
$scale-values: append($scale-values, $modular-scale)
|
144
|
-
$i: $i - 1
|
145
|
-
@if $multiple < 0
|
146
|
-
// do the scale down for each set to below 1px
|
147
|
-
$i: -1
|
148
|
-
$modular-scale: nth($base-size, $k)
|
149
|
-
@while $modular-scale > 1
|
150
|
-
$modular-scale: exponent($ratio, $i) * nth($base-size, $k)
|
151
|
-
$scale-values: append($scale-values, $modular-scale)
|
152
|
-
$i: $i - 1
|
153
|
-
$k: $k + 1
|
154
|
-
// return trimmed and sorted final list
|
155
|
-
@return trim-sort($multiple, $scale-values, $base-size)
|
156
|
-
|
157
|
-
|
158
|
-
// calculate values in using each ratio
|
159
|
-
@function ms-multiratio($multiple, $base-size, $ratio)
|
160
|
-
// start with an empty list to place all values in
|
161
|
-
$scale-values: ()
|
162
|
-
// If $multiple is a positive integer (up the scale)
|
163
|
-
@if $multiple > 0
|
164
|
-
// take each ratio in turn
|
165
|
-
$j: 1
|
166
|
-
@while $j <= length($ratio)
|
167
|
-
// reset $modular-scale for each set
|
168
|
-
$modular-scale: $base-size
|
169
|
-
// do the scale using this ratio thru the multiple, and add the result to $scale-values
|
170
|
-
@for $i from 1 through $multiple
|
171
|
-
$modular-scale: exponent(nth($ratio, $j), $i) * $base-size
|
172
|
-
$scale-values: append($scale-values, $modular-scale)
|
173
|
-
$j: $j + 1
|
174
|
-
// sort acsending
|
175
|
-
$scale-values: sort-list($scale-values)
|
176
|
-
// return the final value using the laced list
|
177
|
-
@return nth($scale-values, $multiple)
|
178
|
-
// If $multiple is a negative integer (down the scale)
|
179
|
-
@if $multiple < 0
|
180
|
-
// take each ratio in turn
|
181
|
-
$j: 1
|
182
|
-
@while $j <= length($ratio)
|
183
|
-
// reset $modular-scale for each set
|
184
|
-
$modular-scale: $base-size
|
185
|
-
// do the scale using this ratio thru the multiple, and add the result to $scale-values
|
186
|
-
@for $i from 1 through ($multiple * -1)
|
187
|
-
$modular-scale: exponent(nth($ratio, $j), -$i) * $base-size
|
188
|
-
$scale-values: append($scale-values, $modular-scale)
|
189
|
-
$j: $j + 1
|
190
|
-
// sort decending
|
191
|
-
$scale-values: sort-list($scale-values, 'dec')
|
192
|
-
// return the final value using the laced list
|
193
|
-
@return nth($scale-values, $multiple * -1)
|
194
|
-
|
195
|
-
|
196
|
-
// trim and sort the final list
|
197
|
-
@function trim-sort($multiple, $scale-values, $base-size)
|
198
|
-
@if $multiple > 0
|
199
|
-
// trim list so we can count from the lowest $base-size
|
200
|
-
$scale-values: trim-list($scale-values, nth($base-size, 1))
|
201
|
-
// sort acsending
|
202
|
-
$scale-values: sort-list($scale-values)
|
203
|
-
// return the final value using the laced list
|
204
|
-
@return nth($scale-values, $multiple)
|
205
|
-
@else
|
206
|
-
// trim list so we can count from the lowest $base-size
|
207
|
-
$scale-values: trim-list($scale-values, nth($base-size, 1), 'dec')
|
208
|
-
// sort acsending
|
209
|
-
$scale-values: sort-list($scale-values, 'dec')
|
210
|
-
// return the final value using the laced list
|
211
|
-
@return nth($scale-values, -$multiple)
|
212
|
-
|
213
|
-
|
214
|
-
/////////////////////////////////////////////////////////////////////////
|
215
|
-
|
216
|
-
// Shortcut
|
217
|
-
@function ms($multiple, $base-size, $ratio)
|
218
|
-
// Return the value from the Modular Scale function
|
219
|
-
@return modular-scale($multiple, $base-size, $ratio)
|
220
|
-
|
221
|
-
// Classes Mixin
|
222
|
-
=modular-scale-classes($multiple, $property, $class-slug, $base-size, $ratio)
|
223
|
-
|
224
|
-
// Loop from 0 through the value of $multiple and generate a range of classes
|
225
|
-
@for $i from 0 through $multiple
|
226
|
-
.#{$class-slug}-#{$i}
|
227
|
-
// Print the $property and return the value from the Modular Scale function
|
228
|
-
#{$property}: modular-scale($i, $base-size, $ratio)
|
229
|
-
|
230
|
-
=ms-classes($multiple, $property, $class-slug, $base-size, $ratio)
|
231
|
-
+modular-scale-classes($multiple, $property, $class-slug, $base-size, $ratio)
|
232
|
-
|
233
|
-
// Write Modular Scale List
|
234
|
-
@function modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
|
235
|
-
$ms-list: unquote("MS-LIST:")
|
236
|
-
@for $i from $start through $finish
|
237
|
-
$ms-list: append($ms-list, ms($i, $base-size, $ratio))
|
238
|
-
@return $ms-list
|
239
|
-
|
240
|
-
@function ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
|
241
|
-
@return modular-scale-list($start, $finish, $base-size, $ratio)
|
242
|
-
|
243
|
-
=modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
|
244
|
-
@debug modular-scale-list($start, $finish, $base-size, $ratio)
|
245
|
-
|
246
|
-
=ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio)
|
247
|
-
@debug modular-scale-list($start, $finish, $base-size, $ratio)
|
248
|
-
|
249
|
-
/////////////////////////////////////////////////////////////////////////
|
250
|
-
|
251
|
-
|
252
|
-
// Sass exponent support
|
253
|
-
@function exponent($base, $exponent)
|
254
|
-
// reset value
|
255
|
-
$value: $base
|
256
|
-
// positive intergers get multiplied
|
257
|
-
@if $exponent > 1
|
258
|
-
@for $i from 2 through $exponent
|
259
|
-
$value: $value * $base
|
260
|
-
// negitive intergers get divided. A number divided by itself is 1
|
261
|
-
@if $exponent < 1
|
262
|
-
@for $i from 0 through -$exponent
|
263
|
-
$value: $value / $base
|
264
|
-
// return the last value written
|
265
|
-
@return $value
|
266
|
-
|
267
|
-
|
268
|
-
// Sass list sorting support
|
269
|
-
@function sort-list($list, $dir: 'asc')
|
270
|
-
// built-in list sorting in Sass would make this go away.
|
271
|
-
// declare some empty lists to put our new order and temporary values
|
272
|
-
$new-order: ()
|
273
|
-
$temp: ()
|
274
|
-
// fill $temp with the contents of $list
|
275
|
-
$temp: join($temp, $list)
|
276
|
-
// if sorting ascending
|
277
|
-
@if $dir == 'asc'
|
278
|
-
// loop through all values in $list
|
279
|
-
@for $i from 1 through length($list)
|
280
|
-
// impossibly high starter value to compare
|
281
|
-
$low: 1000000
|
282
|
-
// check for lowest value in $temp
|
283
|
-
@for $j from 1 through length($temp)
|
284
|
-
@if nth($temp, $j) < $low
|
285
|
-
$low: nth($temp, $j)
|
286
|
-
// add lowest value to $new-order
|
287
|
-
$new-order: append($new-order, $low)
|
288
|
-
// empty $temp for the next comparison
|
289
|
-
$temp: ()
|
290
|
-
// re-populate $temp with remaining values to sort
|
291
|
-
@for $k from 1 through length($list)
|
292
|
-
@if nth($list, $k) > $low
|
293
|
-
$temp: append($temp, nth($list, $k))
|
294
|
-
@if $dir == 'dec'
|
295
|
-
// loop through all values in $list
|
296
|
-
@for $i from 1 through length($list)
|
297
|
-
// 0 starter value
|
298
|
-
$high: 0
|
299
|
-
// check for highest value in $temp
|
300
|
-
@for $j from 1 through length($temp)
|
301
|
-
@if nth($temp, $j) > $high
|
302
|
-
$high: nth($temp, $j)
|
303
|
-
$new-order: append($new-order, $high)
|
304
|
-
// empty $temp for the next comparison
|
305
|
-
$temp: ()
|
306
|
-
// re-populate $temp with remaining values to sort
|
307
|
-
@for $k from 1 through length($list)
|
308
|
-
@if nth($list, $k) < $high
|
309
|
-
$temp: append($temp, nth($list, $k))
|
310
|
-
@return $new-order
|
311
|
-
|
312
|
-
|
313
|
-
// Sass list trimming support
|
314
|
-
@function trim-list($list, $start, $dir: 'asc')
|
315
|
-
// built-in list trimming in Sass would make this go away.
|
316
|
-
// declare some empty lists to put our trimmed values
|
317
|
-
$trimmed: ()
|
318
|
-
// if sorting ascending
|
319
|
-
@if $dir == 'asc'
|
320
|
-
// loop through all values in $list
|
321
|
-
@for $i from 1 through length($list)
|
322
|
-
@if nth($list, $i) >= $start
|
323
|
-
$trimmed: append($trimmed, nth($list, $i))
|
324
|
-
@if $dir == 'dec'
|
325
|
-
// loop through all values in $list
|
326
|
-
@for $i from 1 through length($list)
|
327
|
-
@if nth($list, $i) <= $start
|
328
|
-
$trimmed: append($trimmed, nth($list, $i))
|
329
|
-
@return $trimmed
|
330
|
-
|
331
|
-
// Other libraries can easily query if this function is avalible
|
332
|
-
$modular-scale-loaded: true
|