materialize-sass 0.97.5 → 0.97.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/materialize.js +230 -141
  3. data/app/assets/javascripts/materialize.min.js +6 -6
  4. data/app/assets/javascripts/materialize/character_counter.js +20 -7
  5. data/app/assets/javascripts/materialize/collapsible.js +1 -1
  6. data/app/assets/javascripts/materialize/date_picker/picker.js +5 -5
  7. data/app/assets/javascripts/materialize/dropdown.js +12 -3
  8. data/app/assets/javascripts/materialize/extras/nouislider.js +1 -1
  9. data/app/assets/javascripts/materialize/extras/nouislider.min.js +0 -5
  10. data/app/assets/javascripts/materialize/forms.js +6 -5
  11. data/app/assets/javascripts/materialize/init.js +26 -9
  12. data/app/assets/javascripts/materialize/initial.js +2 -2
  13. data/app/assets/javascripts/materialize/leanModal.js +19 -6
  14. data/app/assets/javascripts/materialize/materialbox.js +9 -9
  15. data/app/assets/javascripts/materialize/pushpin.js +48 -53
  16. data/app/assets/javascripts/materialize/scrollFire.js +7 -3
  17. data/app/assets/javascripts/materialize/scrollspy.js +6 -6
  18. data/app/assets/javascripts/materialize/sideNav.js +66 -37
  19. data/app/assets/javascripts/materialize/slider.js +2 -2
  20. data/app/assets/javascripts/materialize/tabs.js +12 -6
  21. data/app/assets/stylesheets/materialize.scss +1 -1
  22. data/app/assets/stylesheets/materialize/components/_buttons.scss +49 -33
  23. data/app/assets/stylesheets/materialize/components/_cards.scss +9 -5
  24. data/app/assets/stylesheets/materialize/components/_color.scss +21 -21
  25. data/app/assets/stylesheets/materialize/components/_global.scss +27 -11
  26. data/app/assets/stylesheets/materialize/components/_icons-material-design.scss +0 -3258
  27. data/app/assets/stylesheets/materialize/components/_materialbox.scss +1 -1
  28. data/app/assets/stylesheets/materialize/components/_navbar.scss +1 -1
  29. data/app/assets/stylesheets/materialize/components/_normalize.scss +9 -12
  30. data/app/assets/stylesheets/materialize/components/_sideNav.scss +16 -11
  31. data/app/assets/stylesheets/materialize/components/_tooltip.scss +1 -0
  32. data/app/assets/stylesheets/materialize/components/_variables.scss +181 -34
  33. data/app/assets/stylesheets/materialize/components/date_picker/_default.date.scss +1 -1
  34. data/app/assets/stylesheets/materialize/components/date_picker/_default.scss +2 -2
  35. data/app/assets/stylesheets/materialize/components/forms/_checkboxes.scss +220 -0
  36. data/app/assets/stylesheets/materialize/components/forms/_file-input.scss +38 -0
  37. data/app/assets/stylesheets/materialize/components/forms/_forms.scss +22 -0
  38. data/app/assets/stylesheets/materialize/components/forms/_input-fields.scss +254 -0
  39. data/app/assets/stylesheets/materialize/components/forms/_radio-buttons.scss +119 -0
  40. data/app/assets/stylesheets/materialize/components/forms/_range.scss +159 -0
  41. data/app/assets/stylesheets/materialize/components/forms/_select.scss +116 -0
  42. data/app/assets/stylesheets/materialize/components/forms/_switches.scss +78 -0
  43. data/app/assets/stylesheets/materialize/extras/nouislider.css +2 -1
  44. data/lib/materialize-sass/version.rb +1 -1
  45. metadata +10 -9
  46. data/app/assets/fonts/material-design-icons/LICENSE.txt +0 -428
  47. data/app/assets/fonts/material-design-icons/Material-Design-Icons.eot +0 -0
  48. data/app/assets/fonts/material-design-icons/Material-Design-Icons.svg +0 -769
  49. data/app/assets/fonts/material-design-icons/Material-Design-Icons.ttf +0 -0
  50. data/app/assets/fonts/material-design-icons/Material-Design-Icons.woff +0 -0
  51. data/app/assets/fonts/material-design-icons/Material-Design-Icons.woff2 +0 -0
  52. data/app/assets/stylesheets/materialize/components/_form.scss +0 -954
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a9d11aa97fa7772ea25c5b6332159cdc15c41cf
4
- data.tar.gz: 4d8c23a187bfc70e8705a2bde079f1a3ee4653c3
3
+ metadata.gz: 828befde9288f6ec72f3bcf59ba99e1ba59c6065
4
+ data.tar.gz: 5a274e29634e4ada065bccd340d44385e8701ef2
5
5
  SHA512:
6
- metadata.gz: 74e76bb744e1cf6b66a850e626705f1bda9d4bf65f5054daa40e7b3e943830ba2c232f6328ab9d17b48f9918a49ff0afea42917d292de4348e8170a707526562
7
- data.tar.gz: e8db61cfc41c79cc0dc34592d92694d47c1661fde43d9679befdf114c1b0c3b95b18a512f9c4130de02bf40717f45866957835a1ad5ec25f46400edab114eb9f
6
+ metadata.gz: 694b627deb7d36430a3efc535c122228263797eb4e68c5908bfca860e5059bfe7b9b8ecf04141e20a1e7fa0bf56e0c3e6683d511c5158d81c83263facff8c5f6
7
+ data.tar.gz: aca2468e981e8a175599c1c3f8de09e37a2f1f2d6399b503347f3bb0ad1e6b6700e474244e589f24a4326ec4cd6745ef186f8b57106c28ce4152c88e398e375b
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Materialize v0.97.5 (http://materializecss.com)
2
+ * Materialize v0.97.6 (http://materializecss.com)
3
3
  * Copyright 2014-2015 Materialize
4
4
  * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
5
  */
@@ -8,12 +8,13 @@ if (typeof(jQuery) === 'undefined') {
8
8
  var jQuery;
9
9
  // Check if require is a defined function.
10
10
  if (typeof(require) === 'function') {
11
- jQuery = $ = require('jQuery');
11
+ jQuery = $ = require('jquery');
12
12
  // Else use the dollar sign alias.
13
13
  } else {
14
14
  jQuery = $;
15
15
  }
16
- };/*
16
+ }
17
+ ;/*
17
18
  * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
18
19
  *
19
20
  * Uses the built in easing capabilities added In jQuery 1.1
@@ -309,7 +310,7 @@ if ($) {
309
310
  } else {
310
311
  Vel = Velocity;
311
312
  }
312
- ; (function ($) {
313
+ ;(function ($) {
313
314
  $.fn.collapsible = function(options) {
314
315
  var defaults = {
315
316
  accordion: undefined
@@ -526,7 +527,8 @@ if ($) {
526
527
  var offsetLeft = origin.offset().left;
527
528
  var offsetTop = origin.offset().top - $(window).scrollTop();
528
529
  var currAlignment = options.alignment;
529
- var activatesLeft, gutterSpacing;
530
+ var gutterSpacing = 0;
531
+ var leftPosition = 0;
530
532
 
531
533
  // Below Origin
532
534
  var verticalOffset = 0;
@@ -534,6 +536,14 @@ if ($) {
534
536
  verticalOffset = originHeight;
535
537
  }
536
538
 
539
+ // Check for scrolling positioned container.
540
+ var scrollOffset = 0;
541
+ var wrapper = origin.parent();
542
+ if (!wrapper.is('body') && wrapper[0].scrollHeight > wrapper[0].clientHeight) {
543
+ scrollOffset = wrapper[0].scrollTop;
544
+ }
545
+
546
+
537
547
  if (offsetLeft + activates.innerWidth() > $(window).width()) {
538
548
  // Dropdown goes past screen on right, force right alignment
539
549
  currAlignment = 'right';
@@ -571,7 +581,7 @@ if ($) {
571
581
  // Position dropdown
572
582
  activates.css({
573
583
  position: 'absolute',
574
- top: origin.position().top + verticalOffset,
584
+ top: origin.position().top + verticalOffset + scrollOffset,
575
585
  left: leftPosition
576
586
  });
577
587
 
@@ -672,7 +682,8 @@ if ($) {
672
682
  $(document).ready(function(){
673
683
  $('.dropdown-button').dropdown();
674
684
  });
675
- }( jQuery ));;(function($) {
685
+ }( jQuery ));
686
+ ;(function($) {
676
687
  var _stack = 0,
677
688
  _lastID = 0,
678
689
  _generateID = function() {
@@ -683,7 +694,10 @@ if ($) {
683
694
  $.fn.extend({
684
695
  openModal: function(options) {
685
696
 
686
- $('body').css('overflow', 'hidden');
697
+ var $body = $('body');
698
+ var oldWidth = $body.innerWidth();
699
+ $body.css('overflow', 'hidden');
700
+ $body.width(oldWidth);
687
701
 
688
702
  var defaults = {
689
703
  opacity: 0.5,
@@ -694,14 +708,20 @@ if ($) {
694
708
  dismissible: true,
695
709
  starting_top: '4%'
696
710
  },
697
- overlayID = _generateID(),
698
- $modal = $(this),
699
- $overlay = $('<div class="lean-overlay"></div>'),
711
+ $modal = $(this);
712
+
713
+ if ($modal.hasClass('open')) {
714
+ return;
715
+ }
716
+
717
+ overlayID = _generateID();
718
+ $overlay = $('<div class="lean-overlay"></div>');
700
719
  lStack = (++_stack);
701
720
 
702
721
  // Store a reference of the overlay
703
722
  $overlay.attr('id', overlayID).css('z-index', 1000 + lStack * 2);
704
723
  $modal.data('overlay-id', overlayID).css('z-index', 1000 + lStack * 2 + 1);
724
+ $modal.addClass('open');
705
725
 
706
726
  $("body").append($overlay);
707
727
 
@@ -777,11 +797,15 @@ if ($) {
777
797
  $modal = $(this),
778
798
  overlayID = $modal.data('overlay-id'),
779
799
  $overlay = $('#' + overlayID);
800
+ $modal.removeClass('open');
780
801
 
781
802
  options = $.extend(defaults, options);
782
803
 
783
- // Disable scrolling
784
- $('body').css('overflow', '');
804
+ // Enable scrolling
805
+ $('body').css({
806
+ overflow: '',
807
+ width: ''
808
+ });
785
809
 
786
810
  $modal.find('.modal-close').off('click.close');
787
811
  $(document).off('keyup.leanModal' + overlayID);
@@ -914,7 +938,7 @@ if ($) {
914
938
  var count = 0;
915
939
  while (ancestor !== null && !$(ancestor).is(document)) {
916
940
  var curr = $(ancestor);
917
- if (curr.css('overflow') === 'hidden') {
941
+ if (curr.css('overflow') !== 'visible') {
918
942
  curr.css('overflow', 'visible');
919
943
  if (ancestorsChanged === undefined) {
920
944
  ancestorsChanged = curr;
@@ -941,10 +965,10 @@ if ($) {
941
965
  returnToOriginal();
942
966
  });
943
967
  // Animate Overlay
944
- $('body').append(overlay);
945
- overlay.velocity({opacity: 1}, {duration: inDuration, queue: false, easing: 'easeOutQuad'}
946
- );
947
-
968
+ // Put before in origin image to preserve z-index layering.
969
+ origin.before(overlay);
970
+ overlay.velocity({opacity: 1},
971
+ {duration: inDuration, queue: false, easing: 'easeOutQuad'} );
948
972
 
949
973
  // Add and animate caption if it exists
950
974
  if (origin.data('caption') !== "") {
@@ -955,8 +979,6 @@ if ($) {
955
979
  $photo_caption.velocity({opacity: 1}, {duration: inDuration, queue: false, easing: 'easeOutQuad'});
956
980
  }
957
981
 
958
-
959
-
960
982
  // Resize Image
961
983
  var ratio = 0;
962
984
  var widthPercent = originalWidth / windowWidth;
@@ -1021,7 +1043,7 @@ if ($) {
1021
1043
 
1022
1044
  // Return on scroll
1023
1045
  $(window).scroll(function() {
1024
- if (overlayActive ) {
1046
+ if (overlayActive) {
1025
1047
  returnToOriginal();
1026
1048
  }
1027
1049
  });
@@ -1106,7 +1128,9 @@ if ($) {
1106
1128
  $(this).remove();
1107
1129
 
1108
1130
  // Remove overflow overrides on ancestors
1109
- ancestorsChanged.css('overflow', '');
1131
+ if (ancestorsChanged) {
1132
+ ancestorsChanged.css('overflow', '');
1133
+ }
1110
1134
  }
1111
1135
  });
1112
1136
 
@@ -1190,7 +1214,7 @@ $(document).ready(function(){
1190
1214
  $this.width('100%');
1191
1215
  var $active, $content, $links = $this.find('li.tab a'),
1192
1216
  $tabs_width = $this.width(),
1193
- $tab_width = $this.find('li').first().outerWidth(),
1217
+ $tab_width = Math.max($tabs_width, $this[0].scrollWidth) / $links.length,
1194
1218
  $index = 0;
1195
1219
 
1196
1220
  // If the location.hash matches one of the links, use that as the active tab.
@@ -1210,7 +1234,9 @@ $(document).ready(function(){
1210
1234
  $index = 0;
1211
1235
  }
1212
1236
 
1213
- $content = $($active[0].hash);
1237
+ if ($active[0] !== undefined) {
1238
+ $content = $($active[0].hash);
1239
+ }
1214
1240
 
1215
1241
  // append indicator then set indicator width to tab width
1216
1242
  $this.append('<div class="indicator"></div>');
@@ -1221,7 +1247,7 @@ $(document).ready(function(){
1221
1247
  }
1222
1248
  $(window).resize(function () {
1223
1249
  $tabs_width = $this.width();
1224
- $tab_width = $this.find('li').first().outerWidth();
1250
+ $tab_width = Math.max($tabs_width, $this[0].scrollWidth) / $links.length;
1225
1251
  if ($index < 0) {
1226
1252
  $index = 0;
1227
1253
  }
@@ -1245,11 +1271,13 @@ $(document).ready(function(){
1245
1271
  }
1246
1272
 
1247
1273
  $tabs_width = $this.width();
1248
- $tab_width = $this.find('li').first().outerWidth();
1274
+ $tab_width = Math.max($tabs_width, $this[0].scrollWidth) / $links.length;
1249
1275
 
1250
1276
  // Make the old tab inactive.
1251
1277
  $active.removeClass('active');
1252
- $content.hide();
1278
+ if ($content !== undefined) {
1279
+ $content.hide();
1280
+ }
1253
1281
 
1254
1282
  // Update the variables with the new link and content
1255
1283
  $active = $(this);
@@ -1266,7 +1294,9 @@ $(document).ready(function(){
1266
1294
  // Change url to current tab
1267
1295
  // window.location.hash = $active.attr('href');
1268
1296
 
1269
- $content.show();
1297
+ if ($content !== undefined) {
1298
+ $content.show();
1299
+ }
1270
1300
 
1271
1301
  // Update indicator
1272
1302
  if (($index - $prev_index) >= 0) {
@@ -2007,20 +2037,19 @@ $(document).ready(function(){
2007
2037
  $('body').append(dragTarget);
2008
2038
 
2009
2039
  if (options.edge == 'left') {
2010
- menu_id.css('left', -1 * (options.menuWidth + 10));
2040
+ menu_id.css('transform', 'translateX(-100%)');
2011
2041
  dragTarget.css({'left': 0}); // Add Touch Area
2012
2042
  }
2013
2043
  else {
2014
2044
  menu_id.addClass('right-aligned') // Change text-alignment to right
2015
- .css('right', -1 * (options.menuWidth + 10))
2016
- .css('left', '');
2045
+ .css('transform', 'translateX(100%)');
2017
2046
  dragTarget.css({'right': 0}); // Add Touch Area
2018
2047
  }
2019
2048
 
2020
2049
  // If fixed sidenav, bring menu out
2021
2050
  if (menu_id.hasClass('fixed')) {
2022
2051
  if (window.innerWidth > 992) {
2023
- menu_id.css('left', 0);
2052
+ menu_id.css('transform', 'translateX(0)');
2024
2053
  }
2025
2054
  }
2026
2055
 
@@ -2029,19 +2058,22 @@ $(document).ready(function(){
2029
2058
  $(window).resize( function() {
2030
2059
  if (window.innerWidth > 992) {
2031
2060
  // Close menu if window is resized bigger than 992 and user has fixed sidenav
2032
- if ($('#sidenav-overlay').css('opacity') !== 0 && menuOut) {
2061
+ if ($('#sidenav-overlay').length != 0 && menuOut) {
2033
2062
  removeMenu(true);
2034
2063
  }
2035
2064
  else {
2036
- menu_id.removeAttr('style');
2037
- menu_id.css('width', options.menuWidth);
2065
+ // menu_id.removeAttr('style');
2066
+ menu_id.css('transform', 'translateX(0%)');
2067
+ // menu_id.css('width', options.menuWidth);
2038
2068
  }
2039
2069
  }
2040
2070
  else if (menuOut === false){
2041
- if (options.edge === 'left')
2042
- menu_id.css('left', -1 * (options.menuWidth + 10));
2043
- else
2044
- menu_id.css('right', -1 * (options.menuWidth + 10));
2071
+ if (options.edge === 'left') {
2072
+ menu_id.css('transform', 'translateX(-100%)');
2073
+ } else {
2074
+ menu_id.css('transform', 'translateX(100%)');
2075
+ }
2076
+
2045
2077
  }
2046
2078
 
2047
2079
  });
@@ -2057,11 +2089,14 @@ $(document).ready(function(){
2057
2089
  function removeMenu(restoreNav) {
2058
2090
  panning = false;
2059
2091
  menuOut = false;
2060
-
2061
2092
  // Reenable scrolling
2062
- $('body').css('overflow', '');
2093
+ $('body').css({
2094
+ overflow: '',
2095
+ width: ''
2096
+ });
2063
2097
 
2064
- $('#sidenav-overlay').velocity({opacity: 0}, {duration: 200, queue: false, easing: 'easeOutQuad',
2098
+ $('#sidenav-overlay').velocity({opacity: 0}, {duration: 200,
2099
+ queue: false, easing: 'easeOutQuad',
2065
2100
  complete: function() {
2066
2101
  $(this).remove();
2067
2102
  } });
@@ -2069,7 +2104,7 @@ $(document).ready(function(){
2069
2104
  // Reset phantom div
2070
2105
  dragTarget.css({width: '', right: '', left: '0'});
2071
2106
  menu_id.velocity(
2072
- {left: -1 * (options.menuWidth + 10)},
2107
+ {'translateX': '-100%'},
2073
2108
  { duration: 200,
2074
2109
  queue: false,
2075
2110
  easing: 'easeOutCubic',
@@ -2087,7 +2122,7 @@ $(document).ready(function(){
2087
2122
  // Reset phantom div
2088
2123
  dragTarget.css({width: '', right: '0', left: ''});
2089
2124
  menu_id.velocity(
2090
- {right: -1 * (options.menuWidth + 10)},
2125
+ {'translateX': '100%'},
2091
2126
  { duration: 200,
2092
2127
  queue: false,
2093
2128
  easing: 'easeOutCubic',
@@ -2124,7 +2159,10 @@ $(document).ready(function(){
2124
2159
  var velocityX = e.gesture.velocityX;
2125
2160
 
2126
2161
  // Disable Scrolling
2127
- $('body').css('overflow', 'hidden');
2162
+ var $body = $('body');
2163
+ var oldWidth = $body.innerWidth();
2164
+ $body.css('overflow', 'hidden');
2165
+ $body.width(oldWidth);
2128
2166
 
2129
2167
  // If overlay does not exist, create one and if it is clicked, close menu
2130
2168
  if ($('#sidenav-overlay').length === 0) {
@@ -2146,8 +2184,7 @@ $(document).ready(function(){
2146
2184
  if (x < (options.menuWidth / 2)) { menuOut = false; }
2147
2185
  // Right Direction
2148
2186
  else if (x >= (options.menuWidth / 2)) { menuOut = true; }
2149
-
2150
- menu_id.css('left', (x - options.menuWidth));
2187
+ menu_id.css('transform', 'translateX(' + (x - options.menuWidth) + 'px)');
2151
2188
  }
2152
2189
  else {
2153
2190
  // Left Direction
@@ -2158,26 +2195,24 @@ $(document).ready(function(){
2158
2195
  else if (x >= (window.innerWidth - options.menuWidth / 2)) {
2159
2196
  menuOut = false;
2160
2197
  }
2161
- var rightPos = -1 *(x - options.menuWidth / 2);
2162
- if (rightPos > 0) {
2198
+ var rightPos = (x - options.menuWidth / 2);
2199
+ if (rightPos < 0) {
2163
2200
  rightPos = 0;
2164
2201
  }
2165
2202
 
2166
- menu_id.css('right', rightPos);
2203
+ menu_id.css('transform', 'translateX(' + rightPos + 'px)');
2167
2204
  }
2168
2205
 
2169
2206
 
2170
-
2171
-
2172
2207
  // Percentage overlay
2173
2208
  var overlayPerc;
2174
2209
  if (options.edge === 'left') {
2175
2210
  overlayPerc = x / options.menuWidth;
2176
- $('#sidenav-overlay').velocity({opacity: overlayPerc }, {duration: 50, queue: false, easing: 'easeOutQuad'});
2211
+ $('#sidenav-overlay').velocity({opacity: overlayPerc }, {duration: 10, queue: false, easing: 'easeOutQuad'});
2177
2212
  }
2178
2213
  else {
2179
2214
  overlayPerc = Math.abs((x - window.innerWidth) / options.menuWidth);
2180
- $('#sidenav-overlay').velocity({opacity: overlayPerc }, {duration: 50, queue: false, easing: 'easeOutQuad'});
2215
+ $('#sidenav-overlay').velocity({opacity: overlayPerc }, {duration: 10, queue: false, easing: 'easeOutQuad'});
2181
2216
  }
2182
2217
  }
2183
2218
 
@@ -2185,19 +2220,36 @@ $(document).ready(function(){
2185
2220
 
2186
2221
  if (e.gesture.pointerType == "touch") {
2187
2222
  var velocityX = e.gesture.velocityX;
2223
+ var x = e.gesture.center.x;
2224
+ var leftPos = x - options.menuWidth;
2225
+ var rightPos = x - options.menuWidth / 2;
2226
+ if (leftPos > 0 ) {
2227
+ leftPos = 0;
2228
+ }
2229
+ if (rightPos < 0) {
2230
+ rightPos = 0;
2231
+ }
2188
2232
  panning = false;
2233
+
2189
2234
  if (options.edge === 'left') {
2190
2235
  // If velocityX <= 0.3 then the user is flinging the menu closed so ignore menuOut
2191
2236
  if ((menuOut && velocityX <= 0.3) || velocityX < -0.5) {
2192
- menu_id.velocity({left: 0}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2237
+ if (leftPos != 0) {
2238
+ menu_id.velocity({'translateX': [0, leftPos]}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2239
+ }
2240
+
2241
+ // menu_id.css({'translateX': 0});
2193
2242
  $('#sidenav-overlay').velocity({opacity: 1 }, {duration: 50, queue: false, easing: 'easeOutQuad'});
2194
2243
  dragTarget.css({width: '50%', right: 0, left: ''});
2195
2244
  }
2196
2245
  else if (!menuOut || velocityX > 0.3) {
2197
2246
  // Enable Scrolling
2198
- $('body').css('overflow', '');
2247
+ $('body').css({
2248
+ overflow: '',
2249
+ width: ''
2250
+ });
2199
2251
  // Slide menu closed
2200
- menu_id.velocity({left: -1 * (options.menuWidth + 10)}, {duration: 200, queue: false, easing: 'easeOutQuad'});
2252
+ menu_id.velocity({'translateX': [-1 * options.menuWidth - 10, leftPos]}, {duration: 200, queue: false, easing: 'easeOutQuad'});
2201
2253
  $('#sidenav-overlay').velocity({opacity: 0 }, {duration: 200, queue: false, easing: 'easeOutQuad',
2202
2254
  complete: function () {
2203
2255
  $(this).remove();
@@ -2207,15 +2259,19 @@ $(document).ready(function(){
2207
2259
  }
2208
2260
  else {
2209
2261
  if ((menuOut && velocityX >= -0.3) || velocityX > 0.5) {
2210
- menu_id.velocity({right: 0}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2262
+ menu_id.velocity({'translateX': [0, rightPos]}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2211
2263
  $('#sidenav-overlay').velocity({opacity: 1 }, {duration: 50, queue: false, easing: 'easeOutQuad'});
2212
2264
  dragTarget.css({width: '50%', right: '', left: 0});
2213
2265
  }
2214
2266
  else if (!menuOut || velocityX < -0.3) {
2215
2267
  // Enable Scrolling
2216
- $('body').css('overflow', '');
2268
+ $('body').css({
2269
+ overflow: '',
2270
+ width: ''
2271
+ });
2272
+
2217
2273
  // Slide menu closed
2218
- menu_id.velocity({right: -1 * (options.menuWidth + 10)}, {duration: 200, queue: false, easing: 'easeOutQuad'});
2274
+ menu_id.velocity({'translateX': [options.menuWidth + 10, rightPos]}, {duration: 200, queue: false, easing: 'easeOutQuad'});
2219
2275
  $('#sidenav-overlay').velocity({opacity: 0 }, {duration: 200, queue: false, easing: 'easeOutQuad',
2220
2276
  complete: function () {
2221
2277
  $(this).remove();
@@ -2236,18 +2292,21 @@ $(document).ready(function(){
2236
2292
  else {
2237
2293
 
2238
2294
  // Disable Scrolling
2239
- $('body').css('overflow', 'hidden');
2295
+ var $body = $('body');
2296
+ var oldWidth = $body.innerWidth();
2297
+ $body.css('overflow', 'hidden');
2298
+ $body.width(oldWidth);
2299
+
2240
2300
  // Push current drag target on top of DOM tree
2241
2301
  $('body').append(dragTarget);
2242
-
2302
+
2243
2303
  if (options.edge === 'left') {
2244
2304
  dragTarget.css({width: '50%', right: 0, left: ''});
2245
- menu_id.velocity({left: 0}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2305
+ menu_id.velocity({'translateX': [0, -1 * options.menuWidth]}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2246
2306
  }
2247
2307
  else {
2248
2308
  dragTarget.css({width: '50%', right: '', left: 0});
2249
- menu_id.velocity({right: 0}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2250
- menu_id.css('left','');
2309
+ menu_id.velocity({'translateX': [0, options.menuWidth]}, {duration: 300, queue: false, easing: 'easeOutQuad'});
2251
2310
  }
2252
2311
 
2253
2312
  var overlay = $('<div id="sidenav-overlay"></div>');
@@ -2475,7 +2534,7 @@ $(document).ready(function(){
2475
2534
  elements.push($(element));
2476
2535
  $(element).data("scrollSpy:id", i);
2477
2536
  // Smooth scroll to section
2478
- $('a[href=#' + $(element).attr('id') + ']').click(function(e) {
2537
+ $('a[href="#' + $(element).attr('id') + '"]').click(function(e) {
2479
2538
  e.preventDefault();
2480
2539
  var offset = $(this.hash).offset().top + 1;
2481
2540
 
@@ -2517,7 +2576,7 @@ $(document).ready(function(){
2517
2576
  var $this = $(this);
2518
2577
 
2519
2578
  if (visible[0]) {
2520
- $('a[href=#' + visible[0].attr('id') + ']').removeClass('active');
2579
+ $('a[href="#' + visible[0].attr('id') + '"]').removeClass('active');
2521
2580
  if ($this.data('scrollSpy:id') < visible[0].data('scrollSpy:id')) {
2522
2581
  visible.unshift($(this));
2523
2582
  }
@@ -2530,7 +2589,7 @@ $(document).ready(function(){
2530
2589
  }
2531
2590
 
2532
2591
 
2533
- $('a[href=#' + visible[0].attr('id') + ']').addClass('active');
2592
+ $('a[href="#' + visible[0].attr('id') + '"]').addClass('active');
2534
2593
  });
2535
2594
  selector.on('scrollSpy:exit', function() {
2536
2595
  visible = $.grep(visible, function(value) {
@@ -2538,13 +2597,13 @@ $(document).ready(function(){
2538
2597
  });
2539
2598
 
2540
2599
  if (visible[0]) {
2541
- $('a[href=#' + visible[0].attr('id') + ']').removeClass('active');
2600
+ $('a[href="#' + visible[0].attr('id') + '"]').removeClass('active');
2542
2601
  var $this = $(this);
2543
2602
  visible = $.grep(visible, function(value) {
2544
2603
  return value.attr('id') != $this.attr('id');
2545
2604
  });
2546
2605
  if (visible[0]) { // Check if empty
2547
- $('a[href=#' + visible[0].attr('id') + ']').addClass('active');
2606
+ $('a[href="#' + visible[0].attr('id') + '"]').addClass('active');
2548
2607
  }
2549
2608
  }
2550
2609
  });
@@ -2580,7 +2639,8 @@ $(document).ready(function(){
2580
2639
  return $.scrollSpy($(this), options);
2581
2640
  };
2582
2641
 
2583
- })(jQuery);;(function ($) {
2642
+ })(jQuery);
2643
+ ;(function ($) {
2584
2644
  $(document).ready(function() {
2585
2645
 
2586
2646
  // Function to update labels of text fields
@@ -2674,6 +2734,20 @@ $(document).ready(function(){
2674
2734
  }
2675
2735
  };
2676
2736
 
2737
+ // Radio and Checkbox focus class
2738
+ var radio_checkbox = 'input[type=radio], input[type=checkbox]';
2739
+ $(document).on('keyup.radio', radio_checkbox, function(e) {
2740
+ // TAB, check if tabbing to radio or checkbox.
2741
+ if (e.which === 9) {
2742
+ $(this).addClass('tabbed');
2743
+ var $this = $(this);
2744
+ $this.one('blur', function(e) {
2745
+
2746
+ $(this).removeClass('tabbed');
2747
+ });
2748
+ return;
2749
+ }
2750
+ });
2677
2751
 
2678
2752
  // Textarea Auto Resize
2679
2753
  var hiddenDiv = $('.hiddendiv').first();
@@ -2885,6 +2959,7 @@ $(document).ready(function(){
2885
2959
  var appendOptionWithIcon = function(select, option, type) {
2886
2960
  // Add disabled attr if disabled
2887
2961
  var disabledClass = (option.is(':disabled')) ? 'disabled ' : '';
2962
+ var optgroupClass = (type === 'optgroup-option') ? 'optgroup-option ' : '';
2888
2963
 
2889
2964
  // add icons
2890
2965
  var icon_url = option.data('icon');
@@ -2897,7 +2972,7 @@ $(document).ready(function(){
2897
2972
  if (type === 'multiple') {
2898
2973
  options.append($('<li class="' + disabledClass + '"><img src="' + icon_url + '"' + classString + '><span><input type="checkbox"' + disabledClass + '/><label></label>' + option.html() + '</span></li>'));
2899
2974
  } else {
2900
- options.append($('<li class="' + disabledClass + '"><img src="' + icon_url + '"' + classString + '><span>' + option.html() + '</span></li>'));
2975
+ options.append($('<li class="' + disabledClass + optgroupClass + '"><img src="' + icon_url + '"' + classString + '><span>' + option.html() + '</span></li>'));
2901
2976
  }
2902
2977
  return true;
2903
2978
  }
@@ -2906,7 +2981,7 @@ $(document).ready(function(){
2906
2981
  if (type === 'multiple') {
2907
2982
  options.append($('<li class="' + disabledClass + '"><span><input type="checkbox"' + disabledClass + '/><label></label>' + option.html() + '</span></li>'));
2908
2983
  } else {
2909
- options.append($('<li class="' + disabledClass + '"><span>' + option.html() + '</span></li>'));
2984
+ options.append($('<li class="' + disabledClass + optgroupClass + '"><span>' + option.html() + '</span></li>'));
2910
2985
  }
2911
2986
  };
2912
2987
 
@@ -2927,7 +3002,7 @@ $(document).ready(function(){
2927
3002
  options.append($('<li class="optgroup"><span>' + $(this).attr('label') + '</span></li>'));
2928
3003
 
2929
3004
  selectOptions.each(function() {
2930
- appendOptionWithIcon($select, $(this));
3005
+ appendOptionWithIcon($select, $(this), 'optgroup-option');
2931
3006
  });
2932
3007
  }
2933
3008
  });
@@ -3036,7 +3111,7 @@ $(document).ready(function(){
3036
3111
  }
3037
3112
 
3038
3113
  // Make option as selected and scroll to selected position
3039
- activateOption = function(collection, newOption) {
3114
+ var activateOption = function(collection, newOption) {
3040
3115
  if (newOption) {
3041
3116
  collection.find('li.selected').removeClass('selected');
3042
3117
  var option = $(newOption);
@@ -3386,7 +3461,7 @@ $(document).ready(function(){
3386
3461
  panning = false;
3387
3462
  curr_index = $slider.find('.active').index();
3388
3463
 
3389
- if (!swipeRight && !swipeLeft) {
3464
+ if (!swipeRight && !swipeLeft || $slides.length <=1) {
3390
3465
  // Return to original spot
3391
3466
  $curr_slide.velocity({ translateX: 0
3392
3467
  }, {duration: 300, queue: false, easing: 'easeOutQuad'});
@@ -3481,7 +3556,8 @@ $(document).ready(function(){
3481
3556
  $.error( 'Method ' + methodOrOptions + ' does not exist on jQuery.tooltip' );
3482
3557
  }
3483
3558
  }; // Plugin end
3484
- }( jQuery ));;(function ($) {
3559
+ }( jQuery ));
3560
+ ;(function ($) {
3485
3561
  $(document).ready(function() {
3486
3562
 
3487
3563
  $(document).on('click.card', '.card', function (e) {
@@ -3518,66 +3594,61 @@ $(document).ready(function(){
3518
3594
 
3519
3595
  });
3520
3596
  }( jQuery ));;(function ($) {
3521
- $(document).ready(function() {
3597
+ $.fn.pushpin = function (options) {
3522
3598
 
3523
- $.fn.pushpin = function (options) {
3599
+ var defaults = {
3600
+ top: 0,
3601
+ bottom: Infinity,
3602
+ offset: 0
3603
+ };
3604
+ options = $.extend(defaults, options);
3524
3605
 
3525
- var defaults = {
3526
- top: 0,
3527
- bottom: Infinity,
3528
- offset: 0
3606
+ $index = 0;
3607
+ return this.each(function() {
3608
+ var $uniqueId = Materialize.guid(),
3609
+ $this = $(this),
3610
+ $original_offset = $(this).offset().top;
3611
+
3612
+ function removePinClasses(object) {
3613
+ object.removeClass('pin-top');
3614
+ object.removeClass('pinned');
3615
+ object.removeClass('pin-bottom');
3529
3616
  }
3530
- options = $.extend(defaults, options);
3531
3617
 
3532
- $index = 0;
3533
- return this.each(function() {
3534
- var $uniqueId = Materialize.guid(),
3535
- $this = $(this),
3536
- $original_offset = $(this).offset().top;
3537
-
3538
- function removePinClasses(object) {
3539
- object.removeClass('pin-top');
3540
- object.removeClass('pinned');
3541
- object.removeClass('pin-bottom');
3542
- }
3543
-
3544
- function updateElements(objects, scrolled) {
3545
- objects.each(function () {
3546
- // Add position fixed (because its between top and bottom)
3547
- if (options.top <= scrolled && options.bottom >= scrolled && !$(this).hasClass('pinned')) {
3548
- removePinClasses($(this));
3549
- $(this).css('top', options.offset);
3550
- $(this).addClass('pinned');
3551
- }
3552
-
3553
- // Add pin-top (when scrolled position is above top)
3554
- if (scrolled < options.top && !$(this).hasClass('pin-top')) {
3555
- removePinClasses($(this));
3556
- $(this).css('top', 0);
3557
- $(this).addClass('pin-top');
3558
- }
3618
+ function updateElements(objects, scrolled) {
3619
+ objects.each(function () {
3620
+ // Add position fixed (because its between top and bottom)
3621
+ if (options.top <= scrolled && options.bottom >= scrolled && !$(this).hasClass('pinned')) {
3622
+ removePinClasses($(this));
3623
+ $(this).css('top', options.offset);
3624
+ $(this).addClass('pinned');
3625
+ }
3559
3626
 
3560
- // Add pin-bottom (when scrolled position is below bottom)
3561
- if (scrolled > options.bottom && !$(this).hasClass('pin-bottom')) {
3562
- removePinClasses($(this));
3563
- $(this).addClass('pin-bottom');
3564
- $(this).css('top', options.bottom - $original_offset);
3565
- }
3566
- });
3567
- }
3627
+ // Add pin-top (when scrolled position is above top)
3628
+ if (scrolled < options.top && !$(this).hasClass('pin-top')) {
3629
+ removePinClasses($(this));
3630
+ $(this).css('top', 0);
3631
+ $(this).addClass('pin-top');
3632
+ }
3568
3633
 
3569
- updateElements($this, $(window).scrollTop());
3570
- $(window).on('scroll.' + $uniqueId, function () {
3571
- var $scrolled = $(window).scrollTop() + options.offset;
3572
- updateElements($this, $scrolled);
3634
+ // Add pin-bottom (when scrolled position is below bottom)
3635
+ if (scrolled > options.bottom && !$(this).hasClass('pin-bottom')) {
3636
+ removePinClasses($(this));
3637
+ $(this).addClass('pin-bottom');
3638
+ $(this).css('top', options.bottom - $original_offset);
3639
+ }
3573
3640
  });
3641
+ }
3574
3642
 
3643
+ updateElements($this, $(window).scrollTop());
3644
+ $(window).on('scroll.' + $uniqueId, function () {
3645
+ var $scrolled = $(window).scrollTop() + options.offset;
3646
+ updateElements($this, $scrolled);
3575
3647
  });
3576
3648
 
3577
- };
3578
-
3649
+ });
3579
3650
 
3580
- });
3651
+ };
3581
3652
  }( jQuery ));;(function ($) {
3582
3653
  $(document).ready(function() {
3583
3654
 
@@ -3855,8 +3926,12 @@ $(document).ready(function(){
3855
3926
 
3856
3927
  if (windowScroll > (elementOffset + offset)) {
3857
3928
  if (value.done !== true) {
3858
- var callbackFunc = new Function(callback);
3859
- callbackFunc();
3929
+ if (typeof(callback) === 'function') {
3930
+ callback.call(this);
3931
+ } else if (typeof(callback) === 'string') {
3932
+ var callbackFunc = new Function(callback);
3933
+ callbackFunc();
3934
+ }
3860
3935
  value.done = true;
3861
3936
  }
3862
3937
  }
@@ -3866,7 +3941,8 @@ $(document).ready(function(){
3866
3941
  }, 100);
3867
3942
  };
3868
3943
 
3869
- })(jQuery);;/*!
3944
+ })(jQuery);
3945
+ ;/*!
3870
3946
  * pickadate.js v3.5.0, 2014/04/13
3871
3947
  * By Amsul, http://amsul.ca
3872
3948
  * Hosted on http://amsul.github.io/pickadate.js
@@ -4114,7 +4190,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
4114
4190
 
4115
4191
  // Pass focus to the root element’s jQuery object.
4116
4192
  // * Workaround for iOS8 to bring the picker’s root into view.
4117
- P.$root[0].focus()
4193
+ P.$root.eq(0).focus()
4118
4194
 
4119
4195
  // Bind the document events.
4120
4196
  $document.on( 'click.' + STATE.id + ' focusin.' + STATE.id, function( event ) {
@@ -4196,7 +4272,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
4196
4272
  // ....ah yes! It would’ve been incomplete without a crazy workaround for IE :|
4197
4273
  // The focus is triggered *after* the close has completed - causing it
4198
4274
  // to open again. So unbind and rebind the event at the next tick.
4199
- P.$root.off( 'focus.toOpen' )[0].focus()
4275
+ P.$root.off( 'focus.toOpen' ).eq(0).focus()
4200
4276
  setTimeout( function() {
4201
4277
  P.$root.on( 'focus.toOpen', handleFocusToOpenEvent )
4202
4278
  }, 0 )
@@ -4482,7 +4558,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
4482
4558
  // On focus/click, focus onto the root to open it up.
4483
4559
  on( 'focus.' + STATE.id + ' click.' + STATE.id, function( event ) {
4484
4560
  event.preventDefault()
4485
- P.$root[0].focus()
4561
+ P.$root.eq(0).focus()
4486
4562
  }).
4487
4563
 
4488
4564
  // Handle keyboard event based on the picker being opened or not.
@@ -4540,7 +4616,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
4540
4616
 
4541
4617
  // Re-focus onto the root so that users can click away
4542
4618
  // from elements focused within the picker.
4543
- P.$root[0].focus()
4619
+ P.$root.eq(0).focus()
4544
4620
  }
4545
4621
  }
4546
4622
  }
@@ -4573,7 +4649,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
4573
4649
 
4574
4650
  // If it’s disabled or nothing inside is actively focused, re-focus the element.
4575
4651
  if ( targetDisabled || activeElement && !$.contains( P.$root[0], activeElement ) ) {
4576
- P.$root[0].focus()
4652
+ P.$root.eq(0).focus()
4577
4653
  }
4578
4654
 
4579
4655
  // If something is superficially changed, update the `highlight` based on the `nav`.
@@ -6423,15 +6499,22 @@ Picker.extend( 'pickadate', DatePicker )
6423
6499
 
6424
6500
  $.fn.characterCounter = function(){
6425
6501
  return this.each(function(){
6502
+ var $input = $(this);
6503
+ var $counterElement = $input.parent().find('span[class="character-counter"]');
6504
+
6505
+ // character counter has already been added appended to the parent container
6506
+ if ($counterElement.length) {
6507
+ return;
6508
+ }
6426
6509
 
6427
- var itHasLengthAttribute = $(this).attr('length') !== undefined;
6510
+ var itHasLengthAttribute = $input.attr('length') !== undefined;
6428
6511
 
6429
6512
  if(itHasLengthAttribute){
6430
- $(this).on('input', updateCounter);
6431
- $(this).on('focus', updateCounter);
6432
- $(this).on('blur', removeCounterElement);
6513
+ $input.on('input', updateCounter);
6514
+ $input.on('focus', updateCounter);
6515
+ $input.on('blur', removeCounterElement);
6433
6516
 
6434
- addCounterElement($(this));
6517
+ addCounterElement($input);
6435
6518
  }
6436
6519
 
6437
6520
  });
@@ -6448,8 +6531,14 @@ Picker.extend( 'pickadate', DatePicker )
6448
6531
  addInputStyle(isValidLength, $(this));
6449
6532
  }
6450
6533
 
6451
- function addCounterElement($input){
6452
- var $counterElement = $('<span/>')
6534
+ function addCounterElement($input) {
6535
+ var $counterElement = $input.parent().find('span[class="character-counter"]');
6536
+
6537
+ if ($counterElement.length) {
6538
+ return;
6539
+ }
6540
+
6541
+ $counterElement = $('<span/>')
6453
6542
  .addClass('character-counter')
6454
6543
  .css('float','right')
6455
6544
  .css('font-size','12px')