materialize-sass 0.97.2 → 0.97.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/materialize-sprockets.js +1 -0
- data/app/assets/javascripts/materialize.js +85 -66
- data/app/assets/javascripts/materialize.min.js +6 -5
- data/app/assets/javascripts/materialize/carousel.js +350 -0
- data/app/assets/javascripts/materialize/collapsible.js +25 -27
- data/app/assets/javascripts/materialize/dropdown.js +21 -10
- data/app/assets/javascripts/materialize/extras/nouislider.js +10 -0
- data/app/assets/javascripts/materialize/extras/nouislider.min.js +1 -1
- data/app/assets/javascripts/materialize/forms.js +35 -25
- data/app/assets/javascripts/materialize/init.js +2 -0
- data/app/assets/javascripts/materialize/tabs.js +0 -19
- data/app/assets/stylesheets/materialize.scss +1 -0
- data/app/assets/stylesheets/materialize/components/_carousel.scss +38 -0
- data/app/assets/stylesheets/materialize/components/_form.scss +2 -2
- data/app/assets/stylesheets/materialize/components/_grid.scss +0 -3
- data/app/assets/stylesheets/materialize/components/_prefixer.scss +8 -0
- data/app/assets/stylesheets/materialize/components/_tabs.scss +3 -21
- data/app/assets/stylesheets/materialize/extras/nouislider.css +11 -1
- data/lib/materialize-sass/engine.rb +5 -2
- data/lib/materialize-sass/version.rb +1 -1
- metadata +4 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
(function ($) {
|
1
|
+
(function ($) {
|
2
2
|
$.fn.collapsible = function(options) {
|
3
3
|
var defaults = {
|
4
4
|
accordion: undefined
|
@@ -95,38 +95,36 @@
|
|
95
95
|
|
96
96
|
|
97
97
|
|
98
|
-
|
99
|
-
|
100
|
-
$
|
101
|
-
|
102
|
-
var element = $(e.target);
|
98
|
+
// Add click handler to only direct collapsible header children
|
99
|
+
$this.on('click.collapse', '> li > .collapsible-header', function(e) {
|
100
|
+
var $header = $(this),
|
101
|
+
element = $(e.target);
|
103
102
|
|
104
|
-
|
105
|
-
|
106
|
-
|
103
|
+
if (isChildrenOfPanelHeader(element)) {
|
104
|
+
element = getPanelHeader(element);
|
105
|
+
}
|
107
106
|
|
108
|
-
|
107
|
+
element.toggleClass('active');
|
108
|
+
|
109
|
+
if (options.accordion || collapsible_type === "accordion" || collapsible_type === undefined) { // Handle Accordion
|
109
110
|
accordionOpen(element);
|
110
|
-
}
|
111
|
-
|
111
|
+
} else { // Handle Expandables
|
112
|
+
expandableOpen(element);
|
113
|
+
|
114
|
+
if ($header.hasClass('active')) {
|
115
|
+
expandableOpen($header);
|
116
|
+
}
|
117
|
+
}
|
118
|
+
});
|
119
|
+
|
120
|
+
// Open first active
|
121
|
+
var $panel_headers = $this.find('> li > .collapsible-header');
|
122
|
+
if (options.accordion || collapsible_type === "accordion" || collapsible_type === undefined) { // Handle Accordion
|
112
123
|
accordionOpen($panel_headers.filter('.active').first());
|
113
124
|
}
|
114
125
|
else { // Handle Expandables
|
115
|
-
$panel_headers.each(function
|
116
|
-
|
117
|
-
$(this).on('click.collapse', function (e) {
|
118
|
-
var element = $(e.target);
|
119
|
-
if (isChildrenOfPanelHeader(element)) {
|
120
|
-
element = getPanelHeader(element);
|
121
|
-
}
|
122
|
-
element.toggleClass('active');
|
123
|
-
expandableOpen(element);
|
124
|
-
});
|
125
|
-
// Open any bodies that have the active class
|
126
|
-
if ($(this).hasClass('active')) {
|
127
|
-
expandableOpen($(this));
|
128
|
-
}
|
129
|
-
|
126
|
+
$panel_headers.filter('.active').each(function() {
|
127
|
+
expandableOpen($(this));
|
130
128
|
});
|
131
129
|
}
|
132
130
|
|
@@ -73,17 +73,20 @@
|
|
73
73
|
activates.css('white-space', 'nowrap');
|
74
74
|
}
|
75
75
|
|
76
|
-
// Below Origin
|
77
|
-
var verticalOffset = 0;
|
78
|
-
if (options.belowOrigin === true) {
|
79
|
-
verticalOffset = origin.height();
|
80
|
-
}
|
81
|
-
|
82
76
|
// Offscreen detection
|
77
|
+
var windowHeight = window.innerHeight;
|
78
|
+
var originHeight = origin.innerHeight();
|
83
79
|
var offsetLeft = origin.offset().left;
|
84
80
|
var offsetTop = origin.offset().top - $(window).scrollTop();
|
85
81
|
var currAlignment = options.alignment;
|
86
82
|
var activatesLeft, gutterSpacing;
|
83
|
+
|
84
|
+
// Below Origin
|
85
|
+
var verticalOffset = 0;
|
86
|
+
if (options.belowOrigin === true) {
|
87
|
+
verticalOffset = originHeight;
|
88
|
+
}
|
89
|
+
|
87
90
|
if (offsetLeft + activates.innerWidth() > $(window).width()) {
|
88
91
|
// Dropdown goes past screen on right, force right alignment
|
89
92
|
currAlignment = 'right';
|
@@ -93,11 +96,18 @@
|
|
93
96
|
currAlignment = 'left';
|
94
97
|
}
|
95
98
|
// Vertical bottom offscreen detection
|
96
|
-
if (offsetTop + activates.innerHeight() >
|
97
|
-
|
98
|
-
|
99
|
+
if (offsetTop + activates.innerHeight() > windowHeight) {
|
100
|
+
// If going upwards still goes offscreen, just crop height of dropdown.
|
101
|
+
if (offsetTop + originHeight - activates.innerHeight() < 0) {
|
102
|
+
var adjustedHeight = windowHeight - offsetTop - verticalOffset;
|
103
|
+
activates.css('max-height', adjustedHeight);
|
104
|
+
} else {
|
105
|
+
// Flow upwards.
|
106
|
+
if (!verticalOffset) {
|
107
|
+
verticalOffset += originHeight;
|
108
|
+
}
|
109
|
+
verticalOffset -= activates.innerHeight();
|
99
110
|
}
|
100
|
-
verticalOffset -= activates.innerHeight();
|
101
111
|
}
|
102
112
|
|
103
113
|
// Handle edge alignment
|
@@ -137,6 +147,7 @@
|
|
137
147
|
isFocused = false;
|
138
148
|
activates.fadeOut(options.outDuration);
|
139
149
|
activates.removeClass('active');
|
150
|
+
activates.css('max-height', '');
|
140
151
|
origin.removeClass('active');
|
141
152
|
}
|
142
153
|
|
@@ -1,3 +1,13 @@
|
|
1
|
+
/*!
|
2
|
+
* Materialize v0.97.3 (http://materializecss.com)
|
3
|
+
* Copyright 2014-2015 Materialize
|
4
|
+
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5
|
+
*/
|
6
|
+
/*!
|
7
|
+
* Materialize v0.97.2 (http://materializecss.com)
|
8
|
+
* Copyright 2014-2015 Materialize
|
9
|
+
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
10
|
+
*/
|
1
11
|
/*!
|
2
12
|
* Materialize v0.97.1 (http://materializecss.com)
|
3
13
|
* Copyright 2014-2015 Materialize
|
@@ -307,6 +307,36 @@
|
|
307
307
|
label = selectOptions.first();
|
308
308
|
}
|
309
309
|
|
310
|
+
// Function that renders and appends the option taking into
|
311
|
+
// account type and possible image icon.
|
312
|
+
var appendOptionWithIcon = function(select, option, type) {
|
313
|
+
// Add disabled attr if disabled
|
314
|
+
var disabledClass = (option.is(':disabled')) ? 'disabled ' : '';
|
315
|
+
|
316
|
+
// add icons
|
317
|
+
var icon_url = option.data('icon');
|
318
|
+
var classes = option.attr('class');
|
319
|
+
if (!!icon_url) {
|
320
|
+
var classString = '';
|
321
|
+
if (!!classes) classString = ' class="' + classes + '"';
|
322
|
+
|
323
|
+
// Check for multiple type.
|
324
|
+
if (type === 'multiple') {
|
325
|
+
options.append($('<li class="' + disabledClass + '"><img src="' + icon_url + '"' + classString + '><span><input type="checkbox"' + disabledClass + '/><label></label>' + option.html() + '</span></li>'));
|
326
|
+
} else {
|
327
|
+
options.append($('<li class="' + disabledClass + '"><img src="' + icon_url + '"' + classString + '><span>' + option.html() + '</span></li>'));
|
328
|
+
}
|
329
|
+
return true;
|
330
|
+
}
|
331
|
+
|
332
|
+
// Check for multiple type.
|
333
|
+
if (type === 'multiple') {
|
334
|
+
options.append($('<li class="' + disabledClass + '"><span><input type="checkbox"' + disabledClass + '/><label></label>' + option.html() + '</span></li>'));
|
335
|
+
} else {
|
336
|
+
options.append($('<li class="' + disabledClass + '"><span>' + option.html() + '</span></li>'));
|
337
|
+
}
|
338
|
+
};
|
339
|
+
|
310
340
|
/* Create dropdown structure. */
|
311
341
|
if (selectOptGroups.length) {
|
312
342
|
// Check for optgroup
|
@@ -315,37 +345,17 @@
|
|
315
345
|
options.append($('<li class="optgroup"><span>' + $(this).attr('label') + '</span></li>'));
|
316
346
|
|
317
347
|
selectOptions.each(function() {
|
318
|
-
|
319
|
-
|
320
|
-
// Add icons
|
321
|
-
if ($select.hasClass('icons')) {
|
322
|
-
var icon_url = $(this).data('icon');
|
323
|
-
var classes = $(this).attr('class');
|
324
|
-
if (!!icon_url) {
|
325
|
-
options.append($('<li class="' + disabledClass + '"><img src="' + icon_url + '" class="' + classes + '"><span>' + $(this).html() + '</span></li>'));
|
326
|
-
return true;
|
327
|
-
}
|
328
|
-
}
|
329
|
-
options.append($('<li class="' + disabledClass + '"><span>' + $(this).html() + '</span></li>'));
|
348
|
+
appendOptionWithIcon($select, $(this));
|
330
349
|
});
|
331
350
|
});
|
332
351
|
} else {
|
333
352
|
selectOptions.each(function () {
|
334
|
-
// Add disabled attr if disabled
|
335
353
|
var disabledClass = ($(this).is(':disabled')) ? 'disabled ' : '';
|
336
354
|
if (multiple) {
|
337
|
-
|
355
|
+
appendOptionWithIcon($select, $(this), 'multiple');
|
356
|
+
|
338
357
|
} else {
|
339
|
-
|
340
|
-
if ($select.hasClass('icons')) {
|
341
|
-
var icon_url = $(this).data('icon');
|
342
|
-
var classes = $(this).attr('class');
|
343
|
-
if (!!icon_url) {
|
344
|
-
options.append($('<li class="' + disabledClass + '"><img src="' + icon_url + '" class="' + classes + '"><span>' + $(this).html() + '</span></li>'));
|
345
|
-
return true;
|
346
|
-
}
|
347
|
-
}
|
348
|
-
options.append($('<li class="' + disabledClass + '"><span>' + $(this).html() + '</span></li>'));
|
358
|
+
appendOptionWithIcon($select, $(this));
|
349
359
|
}
|
350
360
|
});
|
351
361
|
}
|
@@ -392,7 +402,7 @@
|
|
392
402
|
$select.before($newSelect);
|
393
403
|
$newSelect.before(dropdownIcon);
|
394
404
|
|
395
|
-
$
|
405
|
+
$newSelect.after(options);
|
396
406
|
// Check if section element is disabled
|
397
407
|
if (!$select.is(':disabled')) {
|
398
408
|
$newSelect.dropdown({'hover': false, 'closeOnClick': false});
|
@@ -13,7 +13,6 @@
|
|
13
13
|
var $active, $content, $links = $this.find('li.tab a'),
|
14
14
|
$tabs_width = $this.width(),
|
15
15
|
$tab_width = $this.find('li').first().outerWidth(),
|
16
|
-
$tab_min_width = parseInt($this.find('li').first().css('minWidth')),
|
17
16
|
$index = 0;
|
18
17
|
|
19
18
|
// If the location.hash matches one of the links, use that as the active tab.
|
@@ -105,24 +104,6 @@
|
|
105
104
|
// Prevent the anchor's default click action
|
106
105
|
e.preventDefault();
|
107
106
|
});
|
108
|
-
|
109
|
-
// Add scroll for small screens
|
110
|
-
if ($tab_width <= $tab_min_width) {
|
111
|
-
$this.wrap('<div class="hide-tab-scrollbar"></div>');
|
112
|
-
|
113
|
-
// Create the measurement node
|
114
|
-
var scrollDiv = document.createElement("div");
|
115
|
-
scrollDiv.className = "scrollbar-measure";
|
116
|
-
document.body.appendChild(scrollDiv);
|
117
|
-
var scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;
|
118
|
-
document.body.removeChild(scrollDiv);
|
119
|
-
|
120
|
-
if (scrollbarHeight === 0) {
|
121
|
-
scrollbarHeight = 15;
|
122
|
-
$this.find('.indicator').css('bottom', scrollbarHeight);
|
123
|
-
}
|
124
|
-
$this.height($(this).height() + scrollbarHeight);
|
125
|
-
}
|
126
107
|
});
|
127
108
|
|
128
109
|
},
|
@@ -34,6 +34,7 @@
|
|
34
34
|
@import "materialize/components/sideNav";
|
35
35
|
@import "materialize/components/preloader";
|
36
36
|
@import "materialize/components/slider";
|
37
|
+
@import "materialize/components/carousel";
|
37
38
|
@import "materialize/components/date_picker/default.scss";
|
38
39
|
@import "materialize/components/date_picker/default.date.scss";
|
39
40
|
@import "materialize/components/date_picker/default.time.scss";
|
@@ -0,0 +1,38 @@
|
|
1
|
+
.carousel {
|
2
|
+
overflow: hidden;
|
3
|
+
position: relative;
|
4
|
+
width: 100%;
|
5
|
+
height: 400px;
|
6
|
+
|
7
|
+
|
8
|
+
@include perspective(500px);
|
9
|
+
transform-style: preserve-3d;
|
10
|
+
-webkit-transform-style: preserve-3d;
|
11
|
+
transform-origin: 0% 50%;
|
12
|
+
|
13
|
+
.carousel-item {
|
14
|
+
width: 200px;
|
15
|
+
position: absolute;
|
16
|
+
top: 0;
|
17
|
+
left: 0;
|
18
|
+
|
19
|
+
img {
|
20
|
+
width: 100%;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
&.carousel-slider {
|
25
|
+
top: 0;
|
26
|
+
left: 0;
|
27
|
+
height: 0;
|
28
|
+
|
29
|
+
.carousel-item {
|
30
|
+
width: 100%;
|
31
|
+
height: 100%;
|
32
|
+
position: absolute;
|
33
|
+
top: 0;
|
34
|
+
left: 0;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
@@ -695,11 +695,11 @@ select:disabled {
|
|
695
695
|
border-top: 1px solid $dropdown-hover-bg-color;
|
696
696
|
|
697
697
|
&.selected > span {
|
698
|
-
color: rgba(0,0,0, .7);
|
698
|
+
color: rgba(0, 0, 0, .7);
|
699
699
|
}
|
700
700
|
|
701
701
|
& > span {
|
702
|
-
color: rgba(0,0,0, .4);
|
702
|
+
color: rgba(0, 0, 0, .4);
|
703
703
|
}
|
704
704
|
|
705
705
|
& ~ li:not(.optgroup) {
|
@@ -61,7 +61,6 @@
|
|
61
61
|
$perc: unquote((100 / ($num-cols / $i)) + "%");
|
62
62
|
&.s#{$i} {
|
63
63
|
width: $perc;
|
64
|
-
margin-left: 0;
|
65
64
|
}
|
66
65
|
&.offset-s#{$i} {
|
67
66
|
margin-left: $perc;
|
@@ -82,7 +81,6 @@
|
|
82
81
|
$perc: unquote((100 / ($num-cols / $i)) + "%");
|
83
82
|
&.m#{$i} {
|
84
83
|
width: $perc;
|
85
|
-
margin-left: 0;
|
86
84
|
}
|
87
85
|
&.offset-m#{$i} {
|
88
86
|
margin-left: $perc;
|
@@ -104,7 +102,6 @@
|
|
104
102
|
$perc: unquote((100 / ($num-cols / $i)) + "%");
|
105
103
|
&.l#{$i} {
|
106
104
|
width: $perc;
|
107
|
-
margin-left: 0;
|
108
105
|
}
|
109
106
|
&.offset-l#{$i} {
|
110
107
|
margin-left: $perc;
|
@@ -32,6 +32,7 @@
|
|
32
32
|
// gradient($default,$start,$stop) *
|
33
33
|
// linear-gradient-top($default,$color1,$stop1,$color2,$stop2,[$color3,$stop3,$color4,$stop4])*
|
34
34
|
// linear-gradient-left($default,$color1,$stop1,$color2,$stop2,[$color3,$stop3,$color4,$stop4])*
|
35
|
+
// perspective($pixels)
|
35
36
|
// transform($args)
|
36
37
|
// transform-origin($args)
|
37
38
|
// transform-style($style)
|
@@ -285,6 +286,13 @@
|
|
285
286
|
background-image: linear-gradient(left, $color1 $stop1, $color2 $stop2, $color3 $stop3, $color4 $stop4);
|
286
287
|
}
|
287
288
|
|
289
|
+
// Perspective
|
290
|
+
@mixin perspective($pixels) {
|
291
|
+
perspective: $pixels;
|
292
|
+
-webkit-perspective: $pixels;
|
293
|
+
}
|
294
|
+
|
295
|
+
|
288
296
|
// Text Shadow
|
289
297
|
|
290
298
|
@mixin text-shadow($args) {
|
@@ -1,6 +1,8 @@
|
|
1
1
|
.tabs {
|
2
2
|
@include flexbox();
|
3
3
|
position: relative;
|
4
|
+
overflow-x: scroll;
|
5
|
+
overflow-y: hidden;
|
4
6
|
height: 48px;
|
5
7
|
background-color: $tabs-bg-color;
|
6
8
|
margin: 0 auto;
|
@@ -51,24 +53,4 @@
|
|
51
53
|
background-color: $tabs-underline-color;
|
52
54
|
will-change: left, right;
|
53
55
|
}
|
54
|
-
}
|
55
|
-
|
56
|
-
.hide-tab-scrollbar {
|
57
|
-
position: relative;
|
58
|
-
height: 48px;
|
59
|
-
overflow: hidden;
|
60
|
-
|
61
|
-
.tabs {
|
62
|
-
overflow-x: scroll;
|
63
|
-
overflow-y: hidden;
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
|
-
// Hacky way to find scrollbar width or height.
|
68
|
-
.scrollbar-measure {
|
69
|
-
width: 100px;
|
70
|
-
height: 100px;
|
71
|
-
overflow: scroll;
|
72
|
-
position: absolute;
|
73
|
-
top: -9999px;
|
74
|
-
}
|
56
|
+
}
|
@@ -1,3 +1,13 @@
|
|
1
|
+
/*!
|
2
|
+
* Materialize v0.97.3 (http://materializecss.com)
|
3
|
+
* Copyright 2014-2015 Materialize
|
4
|
+
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5
|
+
*/
|
6
|
+
/*!
|
7
|
+
* Materialize v0.97.2 (http://materializecss.com)
|
8
|
+
* Copyright 2014-2015 Materialize
|
9
|
+
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
10
|
+
*/
|
1
11
|
/*!
|
2
12
|
* Materialize v0.97.1 (http://materializecss.com)
|
3
13
|
* Copyright 2014-2015 Materialize
|
@@ -31,7 +41,7 @@
|
|
31
41
|
.noUi-origin {
|
32
42
|
position: absolute;
|
33
43
|
right: 0;
|
34
|
-
top:
|
44
|
+
top: 6px;
|
35
45
|
left: 0;
|
36
46
|
bottom: 0;
|
37
47
|
}
|