jquery-slick-rails 1.5.9.1 → 1.6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1a195d0fd613ca2030a176ca5845cc35a7e095b
4
- data.tar.gz: f6ef8127e21521088339010f29b94cb51512b2d3
3
+ metadata.gz: 0cd361a8085db54d090b8ac04245879f68ebdda1
4
+ data.tar.gz: c37e070e85bcefc251cb957d8156d50a8a193e1a
5
5
  SHA512:
6
- metadata.gz: b7fe5ff9df2ce71791a0c630c8eede1d69f720497306fe8d110c701445f497dab566ff5643199fb9202417df3283d8df70c764300df77a1abbd101b903777c03
7
- data.tar.gz: d1a2f038d5ff88898532a7343ec598c3062caed8792ad92af964b54d93858e04a61fbdc4809cccc08cdb6586e5908cd22c40b6430eb7e131326032955102594a
6
+ metadata.gz: f4478e33eaac3f1273fa98843bd1b19d5631988ba27ac0c312a8038b3d40523e7d4396139f61b9dece3c714b565e0dce705263fb84df288c02f5ed280db507a6
7
+ data.tar.gz: 88a82c8177a36a829e037222de66b69647c84eafa203081d8318001f3ab18c243d039a7c9cccbea93c40090456cb85e26ac0325464e16e22f86c1ad8d77c17f3
@@ -6,7 +6,7 @@
6
6
  |___/_|_|\___|_|\_(_)/ |___/
7
7
  |__/
8
8
 
9
- Version: 1.5.9
9
+ Version: 1.6.0
10
10
  Author: Ken Wheeler
11
11
  Website: http://kenwheeler.github.io
12
12
  Docs: http://kenwheeler.github.io/slick
@@ -52,7 +52,7 @@
52
52
  centerPadding: '50px',
53
53
  cssEase: 'ease',
54
54
  customPaging: function(slider, i) {
55
- return '<button type="button" data-role="none" role="button" aria-required="false" tabindex="0">' + (i + 1) + '</button>';
55
+ return $('<button type="button" data-role="none" role="button" tabindex="0" />').text(i + 1);
56
56
  },
57
57
  dots: false,
58
58
  dotsClass: 'slick-dots',
@@ -66,6 +66,7 @@
66
66
  lazyLoad: 'ondemand',
67
67
  mobileFirst: false,
68
68
  pauseOnHover: true,
69
+ pauseOnFocus: true,
69
70
  pauseOnDotsHover: false,
70
71
  respondTo: 'window',
71
72
  responsive: null,
@@ -81,7 +82,7 @@
81
82
  touchMove: true,
82
83
  touchThreshold: 5,
83
84
  useCSS: true,
84
- useTransform: false,
85
+ useTransform: true,
85
86
  variableWidth: false,
86
87
  vertical: false,
87
88
  verticalSwiping: false,
@@ -124,8 +125,10 @@
124
125
  _.breakpoints = [];
125
126
  _.breakpointSettings = [];
126
127
  _.cssTransitions = false;
128
+ _.focussed = false;
129
+ _.interrupted = false;
127
130
  _.hidden = 'hidden';
128
- _.paused = false;
131
+ _.paused = true;
129
132
  _.positionProp = null;
130
133
  _.respondTo = null;
131
134
  _.rowCount = 1;
@@ -140,7 +143,7 @@
140
143
 
141
144
  dataSettings = $(element).data('slick') || {};
142
145
 
143
- _.options = $.extend({}, _.defaults, dataSettings, settings);
146
+ _.options = $.extend({}, _.defaults, settings, dataSettings);
144
147
 
145
148
  _.currentSlide = _.options.initialSlide;
146
149
 
@@ -156,6 +159,7 @@
156
159
 
157
160
  _.autoPlay = $.proxy(_.autoPlay, _);
158
161
  _.autoPlayClear = $.proxy(_.autoPlayClear, _);
162
+ _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
159
163
  _.changeSlide = $.proxy(_.changeSlide, _);
160
164
  _.clickHandler = $.proxy(_.clickHandler, _);
161
165
  _.selectHandler = $.proxy(_.selectHandler, _);
@@ -163,7 +167,6 @@
163
167
  _.swipeHandler = $.proxy(_.swipeHandler, _);
164
168
  _.dragHandler = $.proxy(_.dragHandler, _);
165
169
  _.keyHandler = $.proxy(_.keyHandler, _);
166
- _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
167
170
 
168
171
  _.instanceUid = instanceUid++;
169
172
 
@@ -175,7 +178,6 @@
175
178
 
176
179
  _.registerBreakpoints();
177
180
  _.init(true);
178
- _.checkResponsive(true);
179
181
 
180
182
  }
181
183
 
@@ -183,6 +185,17 @@
183
185
 
184
186
  }());
185
187
 
188
+ Slick.prototype.activateADA = function() {
189
+ var _ = this;
190
+
191
+ _.$slideTrack.find('.slick-active').attr({
192
+ 'aria-hidden': 'false'
193
+ }).find('a, input, button, select').attr({
194
+ 'tabindex': '0'
195
+ });
196
+
197
+ };
198
+
186
199
  Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
187
200
 
188
201
  var _ = this;
@@ -318,7 +331,7 @@
318
331
 
319
332
  };
320
333
 
321
- Slick.prototype.asNavFor = function(index) {
334
+ Slick.prototype.getNavTarget = function() {
322
335
 
323
336
  var _ = this,
324
337
  asNavFor = _.options.asNavFor;
@@ -327,6 +340,15 @@
327
340
  asNavFor = $(asNavFor).not(_.$slider);
328
341
  }
329
342
 
343
+ return asNavFor;
344
+
345
+ };
346
+
347
+ Slick.prototype.asNavFor = function(index) {
348
+
349
+ var _ = this,
350
+ asNavFor = _.getNavTarget();
351
+
330
352
  if ( asNavFor !== null && typeof asNavFor === 'object' ) {
331
353
  asNavFor.each(function() {
332
354
  var target = $(this).slick('getSlick');
@@ -361,13 +383,10 @@
361
383
 
362
384
  var _ = this;
363
385
 
364
- if (_.autoPlayTimer) {
365
- clearInterval(_.autoPlayTimer);
366
- }
386
+ _.autoPlayClear();
367
387
 
368
- if (_.slideCount > _.options.slidesToShow && _.paused !== true) {
369
- _.autoPlayTimer = setInterval(_.autoPlayIterator,
370
- _.options.autoplaySpeed);
388
+ if ( _.slideCount > _.options.slidesToShow ) {
389
+ _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
371
390
  }
372
391
 
373
392
  };
@@ -375,6 +394,7 @@
375
394
  Slick.prototype.autoPlayClear = function() {
376
395
 
377
396
  var _ = this;
397
+
378
398
  if (_.autoPlayTimer) {
379
399
  clearInterval(_.autoPlayTimer);
380
400
  }
@@ -383,34 +403,30 @@
383
403
 
384
404
  Slick.prototype.autoPlayIterator = function() {
385
405
 
386
- var _ = this;
406
+ var _ = this,
407
+ slideTo = _.currentSlide + _.options.slidesToScroll;
387
408
 
388
- if (_.options.infinite === false) {
409
+ if ( !_.paused && !_.interrupted && !_.focussed ) {
389
410
 
390
- if (_.direction === 1) {
411
+ if ( _.options.infinite === false ) {
391
412
 
392
- if ((_.currentSlide + 1) === _.slideCount -
393
- 1) {
413
+ if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
394
414
  _.direction = 0;
395
415
  }
396
416
 
397
- _.slideHandler(_.currentSlide + _.options.slidesToScroll);
417
+ else if ( _.direction === 0 ) {
398
418
 
399
- } else {
419
+ slideTo = _.currentSlide - _.options.slidesToScroll;
400
420
 
401
- if ((_.currentSlide - 1 === 0)) {
402
-
403
- _.direction = 1;
421
+ if ( _.currentSlide - 1 === 0 ) {
422
+ _.direction = 1;
423
+ }
404
424
 
405
425
  }
406
426
 
407
- _.slideHandler(_.currentSlide - _.options.slidesToScroll);
408
-
409
427
  }
410
428
 
411
- } else {
412
-
413
- _.slideHandler(_.currentSlide + _.options.slidesToScroll);
429
+ _.slideHandler( slideTo );
414
430
 
415
431
  }
416
432
 
@@ -463,20 +479,19 @@
463
479
  Slick.prototype.buildDots = function() {
464
480
 
465
481
  var _ = this,
466
- i, dotString;
482
+ i, dot;
467
483
 
468
484
  if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
469
485
 
470
- dotString = '<ul class="' + _.options.dotsClass + '">';
486
+ _.$slider.addClass('slick-dotted');
487
+
488
+ dot = $('<ul />').addClass(_.options.dotsClass);
471
489
 
472
490
  for (i = 0; i <= _.getDotCount(); i += 1) {
473
- dotString += '<li>' + _.options.customPaging.call(this, _, i) + '</li>';
491
+ dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
474
492
  }
475
493
 
476
- dotString += '</ul>';
477
-
478
- _.$dots = $(dotString).appendTo(
479
- _.options.appendDots);
494
+ _.$dots = dot.appendTo(_.options.appendDots);
480
495
 
481
496
  _.$dots.find('li').first().addClass('slick-active').attr('aria-hidden', 'false');
482
497
 
@@ -563,7 +578,7 @@
563
578
  newSlides.appendChild(slide);
564
579
  }
565
580
 
566
- _.$slider.html(newSlides);
581
+ _.$slider.empty().append(newSlides);
567
582
  _.$slider.children().children().children()
568
583
  .css({
569
584
  'width':(100 / _.options.slidesPerRow) + '%',
@@ -665,7 +680,7 @@
665
680
  Slick.prototype.changeSlide = function(event, dontAnimate) {
666
681
 
667
682
  var _ = this,
668
- $target = $(event.target),
683
+ $target = $(event.currentTarget),
669
684
  indexOffset, slideOffset, unevenOffset;
670
685
 
671
686
  // If target is a link, prevent default action.
@@ -739,18 +754,15 @@
739
754
 
740
755
  if (_.options.dots && _.$dots !== null) {
741
756
 
742
- $('li', _.$dots).off('click.slick', _.changeSlide);
743
-
744
- if (_.options.pauseOnDotsHover === true && _.options.autoplay === true) {
745
-
746
- $('li', _.$dots)
747
- .off('mouseenter.slick', $.proxy(_.setPaused, _, true))
748
- .off('mouseleave.slick', $.proxy(_.setPaused, _, false));
749
-
750
- }
757
+ $('li', _.$dots)
758
+ .off('click.slick', _.changeSlide)
759
+ .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
760
+ .off('mouseleave.slick', $.proxy(_.interrupt, _, false));
751
761
 
752
762
  }
753
763
 
764
+ _.$slider.off('focus.slick blur.slick');
765
+
754
766
  if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
755
767
  _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
756
768
  _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
@@ -765,8 +777,7 @@
765
777
 
766
778
  $(document).off(_.visibilityChange, _.visibility);
767
779
 
768
- _.$list.off('mouseenter.slick', $.proxy(_.setPaused, _, true));
769
- _.$list.off('mouseleave.slick', $.proxy(_.setPaused, _, false));
780
+ _.cleanUpSlideEvents();
770
781
 
771
782
  if (_.options.accessibility === true) {
772
783
  _.$list.off('keydown.slick', _.keyHandler);
@@ -784,6 +795,16 @@
784
795
 
785
796
  $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
786
797
  $(document).off('ready.slick.slick-' + _.instanceUid, _.setPosition);
798
+
799
+ };
800
+
801
+ Slick.prototype.cleanUpSlideEvents = function() {
802
+
803
+ var _ = this;
804
+
805
+ _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
806
+ _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
807
+
787
808
  };
788
809
 
789
810
  Slick.prototype.cleanUpRows = function() {
@@ -793,7 +814,7 @@
793
814
  if(_.options.rows > 1) {
794
815
  originalSlides = _.$slides.children().children();
795
816
  originalSlides.removeAttr('style');
796
- _.$slider.html(originalSlides);
817
+ _.$slider.empty().append(originalSlides);
797
818
  }
798
819
 
799
820
  };
@@ -832,7 +853,7 @@
832
853
  _.$prevArrow
833
854
  .removeClass('slick-disabled slick-arrow slick-hidden')
834
855
  .removeAttr('aria-hidden aria-disabled tabindex')
835
- .css("display","");
856
+ .css('display','');
836
857
 
837
858
  if ( _.htmlExpr.test( _.options.prevArrow )) {
838
859
  _.$prevArrow.remove();
@@ -844,7 +865,7 @@
844
865
  _.$nextArrow
845
866
  .removeClass('slick-disabled slick-arrow slick-hidden')
846
867
  .removeAttr('aria-hidden aria-disabled tabindex')
847
- .css("display","");
868
+ .css('display','');
848
869
 
849
870
  if ( _.htmlExpr.test( _.options.nextArrow )) {
850
871
  _.$nextArrow.remove();
@@ -876,6 +897,7 @@
876
897
 
877
898
  _.$slider.removeClass('slick-slider');
878
899
  _.$slider.removeClass('slick-initialized');
900
+ _.$slider.removeClass('slick-dotted');
879
901
 
880
902
  _.unslicked = true;
881
903
 
@@ -980,6 +1002,30 @@
980
1002
 
981
1003
  };
982
1004
 
1005
+ Slick.prototype.focusHandler = function() {
1006
+
1007
+ var _ = this;
1008
+
1009
+ _.$slider
1010
+ .off('focus.slick blur.slick')
1011
+ .on('focus.slick blur.slick',
1012
+ '*:not(.slick-arrow)', function(event) {
1013
+
1014
+ event.stopImmediatePropagation();
1015
+ var $sf = $(this);
1016
+
1017
+ setTimeout(function() {
1018
+
1019
+ if( _.options.pauseOnFocus ) {
1020
+ _.focussed = $sf.is(':focus');
1021
+ _.autoPlay();
1022
+ }
1023
+
1024
+ }, 0);
1025
+
1026
+ });
1027
+ };
1028
+
983
1029
  Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
984
1030
 
985
1031
  var _ = this;
@@ -1204,6 +1250,8 @@
1204
1250
  _.initializeEvents();
1205
1251
  _.updateArrows();
1206
1252
  _.updateDots();
1253
+ _.checkResponsive(true);
1254
+ _.focusHandler();
1207
1255
 
1208
1256
  }
1209
1257
 
@@ -1215,6 +1263,48 @@
1215
1263
  _.initADA();
1216
1264
  }
1217
1265
 
1266
+ if ( _.options.autoplay ) {
1267
+
1268
+ _.paused = false;
1269
+ _.autoPlay();
1270
+
1271
+ }
1272
+
1273
+ };
1274
+
1275
+ Slick.prototype.initADA = function() {
1276
+ var _ = this;
1277
+ _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
1278
+ 'aria-hidden': 'true',
1279
+ 'tabindex': '-1'
1280
+ }).find('a, input, button, select').attr({
1281
+ 'tabindex': '-1'
1282
+ });
1283
+
1284
+ _.$slideTrack.attr('role', 'listbox');
1285
+
1286
+ _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
1287
+ $(this).attr({
1288
+ 'role': 'option',
1289
+ 'aria-describedby': 'slick-slide' + _.instanceUid + i + ''
1290
+ });
1291
+ });
1292
+
1293
+ if (_.$dots !== null) {
1294
+ _.$dots.attr('role', 'tablist').find('li').each(function(i) {
1295
+ $(this).attr({
1296
+ 'role': 'presentation',
1297
+ 'aria-selected': 'false',
1298
+ 'aria-controls': 'navigation' + _.instanceUid + i + '',
1299
+ 'id': 'slick-slide' + _.instanceUid + i + ''
1300
+ });
1301
+ })
1302
+ .first().attr('aria-selected', 'true').end()
1303
+ .find('button').attr('role', 'button').end()
1304
+ .closest('div').attr('role', 'toolbar');
1305
+ }
1306
+ _.activateADA();
1307
+
1218
1308
  };
1219
1309
 
1220
1310
  Slick.prototype.initArrowEvents = function() {
@@ -1222,12 +1312,16 @@
1222
1312
  var _ = this;
1223
1313
 
1224
1314
  if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1225
- _.$prevArrow.on('click.slick', {
1226
- message: 'previous'
1227
- }, _.changeSlide);
1228
- _.$nextArrow.on('click.slick', {
1229
- message: 'next'
1230
- }, _.changeSlide);
1315
+ _.$prevArrow
1316
+ .off('click.slick')
1317
+ .on('click.slick', {
1318
+ message: 'previous'
1319
+ }, _.changeSlide);
1320
+ _.$nextArrow
1321
+ .off('click.slick')
1322
+ .on('click.slick', {
1323
+ message: 'next'
1324
+ }, _.changeSlide);
1231
1325
  }
1232
1326
 
1233
1327
  };
@@ -1242,10 +1336,25 @@
1242
1336
  }, _.changeSlide);
1243
1337
  }
1244
1338
 
1245
- if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.options.autoplay === true) {
1339
+ if ( _.options.dots === true && _.options.pauseOnDotsHover === true ) {
1340
+
1246
1341
  $('li', _.$dots)
1247
- .on('mouseenter.slick', $.proxy(_.setPaused, _, true))
1248
- .on('mouseleave.slick', $.proxy(_.setPaused, _, false));
1342
+ .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
1343
+ .on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1344
+
1345
+ }
1346
+
1347
+ };
1348
+
1349
+ Slick.prototype.initSlideEvents = function() {
1350
+
1351
+ var _ = this;
1352
+
1353
+ if ( _.options.pauseOnHover ) {
1354
+
1355
+ _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
1356
+ _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1357
+
1249
1358
  }
1250
1359
 
1251
1360
  };
@@ -1257,6 +1366,7 @@
1257
1366
  _.initArrowEvents();
1258
1367
 
1259
1368
  _.initDotEvents();
1369
+ _.initSlideEvents();
1260
1370
 
1261
1371
  _.$list.on('touchstart.slick mousedown.slick', {
1262
1372
  action: 'start'
@@ -1275,9 +1385,6 @@
1275
1385
 
1276
1386
  $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
1277
1387
 
1278
- _.$list.on('mouseenter.slick', $.proxy(_.setPaused, _, true));
1279
- _.$list.on('mouseleave.slick', $.proxy(_.setPaused, _, false));
1280
-
1281
1388
  if (_.options.accessibility === true) {
1282
1389
  _.$list.on('keydown.slick', _.keyHandler);
1283
1390
  }
@@ -1314,12 +1421,6 @@
1314
1421
 
1315
1422
  }
1316
1423
 
1317
- if (_.options.autoplay === true) {
1318
-
1319
- _.autoPlay();
1320
-
1321
- }
1322
-
1323
1424
  };
1324
1425
 
1325
1426
  Slick.prototype.keyHandler = function(event) {
@@ -1330,13 +1431,13 @@
1330
1431
  if (event.keyCode === 37 && _.options.accessibility === true) {
1331
1432
  _.changeSlide({
1332
1433
  data: {
1333
- message: 'previous'
1434
+ message: _.options.rtl === true ? 'next' : 'previous'
1334
1435
  }
1335
1436
  });
1336
1437
  } else if (event.keyCode === 39 && _.options.accessibility === true) {
1337
1438
  _.changeSlide({
1338
1439
  data: {
1339
- message: 'next'
1440
+ message: _.options.rtl === true ? 'previous' : 'next'
1340
1441
  }
1341
1442
  });
1342
1443
  }
@@ -1350,6 +1451,7 @@
1350
1451
  loadRange, cloneRange, rangeStart, rangeEnd;
1351
1452
 
1352
1453
  function loadImages(imagesScope) {
1454
+
1353
1455
  $('img[data-lazy]', imagesScope).each(function() {
1354
1456
 
1355
1457
  var image = $(this),
@@ -1357,6 +1459,7 @@
1357
1459
  imageToLoad = document.createElement('img');
1358
1460
 
1359
1461
  imageToLoad.onload = function() {
1462
+
1360
1463
  image
1361
1464
  .animate({ opacity: 0 }, 100, function() {
1362
1465
  image
@@ -1366,12 +1469,26 @@
1366
1469
  .removeAttr('data-lazy')
1367
1470
  .removeClass('slick-loading');
1368
1471
  });
1472
+ _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
1369
1473
  });
1474
+
1475
+ };
1476
+
1477
+ imageToLoad.onerror = function() {
1478
+
1479
+ image
1480
+ .removeAttr( 'data-lazy' )
1481
+ .removeClass( 'slick-loading' )
1482
+ .addClass( 'slick-lazyload-error' );
1483
+
1484
+ _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1485
+
1370
1486
  };
1371
1487
 
1372
1488
  imageToLoad.src = imageSource;
1373
1489
 
1374
1490
  });
1491
+
1375
1492
  }
1376
1493
 
1377
1494
  if (_.options.centerMode === true) {
@@ -1384,7 +1501,7 @@
1384
1501
  }
1385
1502
  } else {
1386
1503
  rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
1387
- rangeEnd = rangeStart + _.options.slidesToShow;
1504
+ rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
1388
1505
  if (_.options.fade === true) {
1389
1506
  if (rangeStart > 0) rangeStart--;
1390
1507
  if (rangeEnd <= _.slideCount) rangeEnd++;
@@ -1462,8 +1579,11 @@
1462
1579
 
1463
1580
  var _ = this;
1464
1581
 
1465
- _.paused = false;
1466
1582
  _.autoPlay();
1583
+ _.options.autoplay = true;
1584
+ _.paused = false;
1585
+ _.focussed = false;
1586
+ _.interrupted = false;
1467
1587
 
1468
1588
  };
1469
1589
 
@@ -1471,19 +1591,24 @@
1471
1591
 
1472
1592
  var _ = this;
1473
1593
 
1474
- _.$slider.trigger('afterChange', [_, index]);
1594
+ if( !_.unslicked ) {
1475
1595
 
1476
- _.animating = false;
1596
+ _.$slider.trigger('afterChange', [_, index]);
1477
1597
 
1478
- _.setPosition();
1598
+ _.animating = false;
1479
1599
 
1480
- _.swipeLeft = null;
1600
+ _.setPosition();
1601
+
1602
+ _.swipeLeft = null;
1603
+
1604
+ if ( _.options.autoplay ) {
1605
+ _.autoPlay();
1606
+ }
1607
+
1608
+ if (_.options.accessibility === true) {
1609
+ _.initADA();
1610
+ }
1481
1611
 
1482
- if (_.options.autoplay === true && _.paused === false) {
1483
- _.autoPlay();
1484
- }
1485
- if (_.options.accessibility === true) {
1486
- _.initADA();
1487
1612
  }
1488
1613
 
1489
1614
  };
@@ -1501,50 +1626,97 @@
1501
1626
  };
1502
1627
 
1503
1628
  Slick.prototype.preventDefault = function(event) {
1629
+
1504
1630
  event.preventDefault();
1631
+
1505
1632
  };
1506
1633
 
1507
- Slick.prototype.progressiveLazyLoad = function() {
1634
+ Slick.prototype.progressiveLazyLoad = function( tryCount ) {
1635
+
1636
+ tryCount = tryCount || 1;
1508
1637
 
1509
1638
  var _ = this,
1510
- imgCount, targetImage;
1639
+ $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
1640
+ image,
1641
+ imageSource,
1642
+ imageToLoad;
1511
1643
 
1512
- imgCount = $('img[data-lazy]', _.$slider).length;
1644
+ if ( $imgsToLoad.length ) {
1513
1645
 
1514
- if (imgCount > 0) {
1515
- targetImage = $('img[data-lazy]', _.$slider).first();
1516
- targetImage.attr('src', null);
1517
- targetImage.attr('src', targetImage.attr('data-lazy')).removeClass('slick-loading').load(function() {
1518
- targetImage.removeAttr('data-lazy');
1519
- _.progressiveLazyLoad();
1646
+ image = $imgsToLoad.first();
1647
+ imageSource = image.attr('data-lazy');
1648
+ imageToLoad = document.createElement('img');
1649
+
1650
+ imageToLoad.onload = function() {
1651
+
1652
+ image
1653
+ .attr( 'src', imageSource )
1654
+ .removeAttr('data-lazy')
1655
+ .removeClass('slick-loading');
1656
+
1657
+ if ( _.options.adaptiveHeight === true ) {
1658
+ _.setPosition();
1659
+ }
1660
+
1661
+ _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
1662
+ _.progressiveLazyLoad();
1663
+
1664
+ };
1665
+
1666
+ imageToLoad.onerror = function() {
1667
+
1668
+ if ( tryCount < 3 ) {
1669
+
1670
+ /**
1671
+ * try to load the image 3 times,
1672
+ * leave a slight delay so we don't get
1673
+ * servers blocking the request.
1674
+ */
1675
+ setTimeout( function() {
1676
+ _.progressiveLazyLoad( tryCount + 1 );
1677
+ }, 500 );
1678
+
1679
+ } else {
1680
+
1681
+ image
1682
+ .removeAttr( 'data-lazy' )
1683
+ .removeClass( 'slick-loading' )
1684
+ .addClass( 'slick-lazyload-error' );
1685
+
1686
+ _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1687
+
1688
+ _.progressiveLazyLoad();
1689
+
1690
+ }
1691
+
1692
+ };
1693
+
1694
+ imageToLoad.src = imageSource;
1695
+
1696
+ } else {
1697
+
1698
+ _.$slider.trigger('allImagesLoaded', [ _ ]);
1520
1699
 
1521
- if (_.options.adaptiveHeight === true) {
1522
- _.setPosition();
1523
- }
1524
- })
1525
- .error(function() {
1526
- targetImage.removeAttr('data-lazy');
1527
- _.progressiveLazyLoad();
1528
- });
1529
1700
  }
1530
1701
 
1531
1702
  };
1532
1703
 
1533
1704
  Slick.prototype.refresh = function( initializing ) {
1534
1705
 
1535
- var _ = this, currentSlide, firstVisible;
1706
+ var _ = this, currentSlide, lastVisibleIndex;
1536
1707
 
1537
- firstVisible = _.slideCount - _.options.slidesToShow;
1708
+ lastVisibleIndex = _.slideCount - _.options.slidesToShow;
1709
+
1710
+ // in non-infinite sliders, we don't want to go past the
1711
+ // last visible index.
1712
+ if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
1713
+ _.currentSlide = lastVisibleIndex;
1714
+ }
1715
+
1716
+ // if less slides than to show, go to start.
1717
+ if ( _.slideCount <= _.options.slidesToShow ) {
1718
+ _.currentSlide = 0;
1538
1719
 
1539
- // check that the new breakpoint can actually accept the
1540
- // "current slide" as the current slide, otherwise we need
1541
- // to set it to the closest possible value.
1542
- if ( !_.options.infinite ) {
1543
- if ( _.slideCount <= _.options.slidesToShow ) {
1544
- _.currentSlide = 0;
1545
- } else if ( _.currentSlide > firstVisible ) {
1546
- _.currentSlide = firstVisible;
1547
- }
1548
1720
  }
1549
1721
 
1550
1722
  currentSlide = _.currentSlide;
@@ -1573,7 +1745,7 @@
1573
1745
  var _ = this, breakpoint, currentBreakpoint, l,
1574
1746
  responsiveSettings = _.options.responsive || null;
1575
1747
 
1576
- if ( $.type(responsiveSettings) === "array" && responsiveSettings.length ) {
1748
+ if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {
1577
1749
 
1578
1750
  _.respondTo = _.options.respondTo || 'window';
1579
1751
 
@@ -1637,6 +1809,8 @@
1637
1809
  _.buildDots();
1638
1810
  _.updateDots();
1639
1811
  _.initDotEvents();
1812
+ _.cleanUpSlideEvents();
1813
+ _.initSlideEvents();
1640
1814
 
1641
1815
  _.checkResponsive(false, true);
1642
1816
 
@@ -1644,15 +1818,15 @@
1644
1818
  $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1645
1819
  }
1646
1820
 
1647
- _.setSlideClasses(0);
1821
+ _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
1648
1822
 
1649
1823
  _.setPosition();
1824
+ _.focusHandler();
1650
1825
 
1651
- _.$slider.trigger('reInit', [_]);
1826
+ _.paused = !_.options.autoplay;
1827
+ _.autoPlay();
1652
1828
 
1653
- if (_.options.autoplay === true) {
1654
- _.focusHandler();
1655
- }
1829
+ _.$slider.trigger('reInit', [_]);
1656
1830
 
1657
1831
  };
1658
1832
 
@@ -1817,36 +1991,103 @@
1817
1991
 
1818
1992
  };
1819
1993
 
1820
- Slick.prototype.setOption = Slick.prototype.slickSetOption = function(option, value, refresh) {
1994
+ Slick.prototype.setOption =
1995
+ Slick.prototype.slickSetOption = function() {
1821
1996
 
1822
- var _ = this, l, item;
1997
+ /**
1998
+ * accepts arguments in format of:
1999
+ *
2000
+ * - for changing a single option's value:
2001
+ * .slick("setOption", option, value, refresh )
2002
+ *
2003
+ * - for changing a set of responsive options:
2004
+ * .slick("setOption", 'responsive', [{}, ...], refresh )
2005
+ *
2006
+ * - for updating multiple values at once (not responsive)
2007
+ * .slick("setOption", { 'option': value, ... }, refresh )
2008
+ */
2009
+
2010
+ var _ = this, l, item, option, value, refresh = false, type;
2011
+
2012
+ if( $.type( arguments[0] ) === 'object' ) {
2013
+
2014
+ option = arguments[0];
2015
+ refresh = arguments[1];
2016
+ type = 'multiple';
2017
+
2018
+ } else if ( $.type( arguments[0] ) === 'string' ) {
2019
+
2020
+ option = arguments[0];
2021
+ value = arguments[1];
2022
+ refresh = arguments[2];
2023
+
2024
+ if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {
2025
+
2026
+ type = 'responsive';
2027
+
2028
+ } else if ( typeof arguments[1] !== 'undefined' ) {
2029
+
2030
+ type = 'single';
2031
+
2032
+ }
2033
+
2034
+ }
2035
+
2036
+ if ( type === 'single' ) {
2037
+
2038
+ _.options[option] = value;
2039
+
2040
+
2041
+ } else if ( type === 'multiple' ) {
2042
+
2043
+ $.each( option , function( opt, val ) {
2044
+
2045
+ _.options[opt] = val;
2046
+
2047
+ });
2048
+
2049
+
2050
+ } else if ( type === 'responsive' ) {
2051
+
2052
+ for ( item in value ) {
2053
+
2054
+ if( $.type( _.options.responsive ) !== 'array' ) {
2055
+
2056
+ _.options.responsive = [ value[item] ];
2057
+
2058
+ } else {
2059
+
2060
+ l = _.options.responsive.length-1;
2061
+
2062
+ // loop through the responsive object and splice out duplicates.
2063
+ while( l >= 0 ) {
2064
+
2065
+ if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
2066
+
2067
+ _.options.responsive.splice(l,1);
2068
+
2069
+ }
2070
+
2071
+ l--;
2072
+
2073
+ }
2074
+
2075
+ _.options.responsive.push( value[item] );
1823
2076
 
1824
- if( option === "responsive" && $.type(value) === "array" ) {
1825
- for ( item in value ) {
1826
- if( $.type( _.options.responsive ) !== "array" ) {
1827
- _.options.responsive = [ value[item] ];
1828
- } else {
1829
- l = _.options.responsive.length-1;
1830
- // loop through the responsive object and splice out duplicates.
1831
- while( l >= 0 ) {
1832
- if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
1833
- _.options.responsive.splice(l,1);
1834
2077
  }
1835
- l--;
2078
+
1836
2079
  }
1837
- _.options.responsive.push( value[item] );
2080
+
1838
2081
  }
1839
- }
1840
- } else {
1841
- _.options[option] = value;
1842
- }
1843
2082
 
1844
- if (refresh === true) {
1845
- _.unload();
1846
- _.reinit();
1847
- }
2083
+ if ( refresh ) {
1848
2084
 
1849
- };
2085
+ _.unload();
2086
+ _.reinit();
2087
+
2088
+ }
2089
+
2090
+ };
1850
2091
 
1851
2092
  Slick.prototype.setPosition = function() {
1852
2093
 
@@ -2077,18 +2318,15 @@
2077
2318
 
2078
2319
  };
2079
2320
 
2080
- Slick.prototype.setPaused = function(paused) {
2321
+ Slick.prototype.interrupt = function( toggle ) {
2081
2322
 
2082
2323
  var _ = this;
2083
2324
 
2084
- if (_.options.autoplay === true && _.options.pauseOnHover === true) {
2085
- _.paused = paused;
2086
- if (!paused) {
2087
- _.autoPlay();
2088
- } else {
2089
- _.autoPlayClear();
2090
- }
2325
+ if( !toggle ) {
2326
+ _.autoPlay();
2091
2327
  }
2328
+ _.interrupted = toggle;
2329
+
2092
2330
  };
2093
2331
 
2094
2332
  Slick.prototype.selectHandler = function(event) {
@@ -2119,7 +2357,7 @@
2119
2357
  Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
2120
2358
 
2121
2359
  var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
2122
- _ = this;
2360
+ _ = this, navTarget;
2123
2361
 
2124
2362
  sync = sync || false;
2125
2363
 
@@ -2171,7 +2409,7 @@
2171
2409
  return;
2172
2410
  }
2173
2411
 
2174
- if (_.options.autoplay === true) {
2412
+ if ( _.options.autoplay ) {
2175
2413
  clearInterval(_.autoPlayTimer);
2176
2414
  }
2177
2415
 
@@ -2200,6 +2438,17 @@
2200
2438
 
2201
2439
  _.setSlideClasses(_.currentSlide);
2202
2440
 
2441
+ if ( _.options.asNavFor ) {
2442
+
2443
+ navTarget = _.getNavTarget();
2444
+ navTarget = navTarget.slick('getSlick');
2445
+
2446
+ if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
2447
+ navTarget.setSlideClasses(_.currentSlide);
2448
+ }
2449
+
2450
+ }
2451
+
2203
2452
  _.updateDots();
2204
2453
  _.updateArrows();
2205
2454
 
@@ -2274,9 +2523,9 @@
2274
2523
  }
2275
2524
  if (_.options.verticalSwiping === true) {
2276
2525
  if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
2277
- return 'left';
2526
+ return 'down';
2278
2527
  } else {
2279
- return 'right';
2528
+ return 'up';
2280
2529
  }
2281
2530
  }
2282
2531
 
@@ -2287,44 +2536,73 @@
2287
2536
  Slick.prototype.swipeEnd = function(event) {
2288
2537
 
2289
2538
  var _ = this,
2290
- slideCount;
2539
+ slideCount,
2540
+ direction;
2291
2541
 
2292
2542
  _.dragging = false;
2543
+ _.interrupted = false;
2544
+ _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;
2293
2545
 
2294
- _.shouldClick = (_.touchObject.swipeLength > 10) ? false : true;
2295
-
2296
- if (_.touchObject.curX === undefined) {
2546
+ if ( _.touchObject.curX === undefined ) {
2297
2547
  return false;
2298
2548
  }
2299
2549
 
2300
- if (_.touchObject.edgeHit === true) {
2301
- _.$slider.trigger('edge', [_, _.swipeDirection()]);
2550
+ if ( _.touchObject.edgeHit === true ) {
2551
+ _.$slider.trigger('edge', [_, _.swipeDirection() ]);
2302
2552
  }
2303
2553
 
2304
- if (_.touchObject.swipeLength >= _.touchObject.minSwipe) {
2554
+ if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {
2555
+
2556
+ direction = _.swipeDirection();
2557
+
2558
+ switch ( direction ) {
2305
2559
 
2306
- switch (_.swipeDirection()) {
2307
2560
  case 'left':
2308
- slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide + _.getSlideCount()) : _.currentSlide + _.getSlideCount();
2309
- _.slideHandler(slideCount);
2561
+ case 'down':
2562
+
2563
+ slideCount =
2564
+ _.options.swipeToSlide ?
2565
+ _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
2566
+ _.currentSlide + _.getSlideCount();
2567
+
2310
2568
  _.currentDirection = 0;
2311
- _.touchObject = {};
2312
- _.$slider.trigger('swipe', [_, 'left']);
2569
+
2313
2570
  break;
2314
2571
 
2315
2572
  case 'right':
2316
- slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide - _.getSlideCount()) : _.currentSlide - _.getSlideCount();
2317
- _.slideHandler(slideCount);
2573
+ case 'up':
2574
+
2575
+ slideCount =
2576
+ _.options.swipeToSlide ?
2577
+ _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
2578
+ _.currentSlide - _.getSlideCount();
2579
+
2318
2580
  _.currentDirection = 1;
2319
- _.touchObject = {};
2320
- _.$slider.trigger('swipe', [_, 'right']);
2581
+
2321
2582
  break;
2583
+
2584
+ default:
2585
+
2586
+
2322
2587
  }
2588
+
2589
+ if( direction != 'vertical' ) {
2590
+
2591
+ _.slideHandler( slideCount );
2592
+ _.touchObject = {};
2593
+ _.$slider.trigger('swipe', [_, direction ]);
2594
+
2595
+ }
2596
+
2323
2597
  } else {
2324
- if (_.touchObject.startX !== _.touchObject.curX) {
2325
- _.slideHandler(_.currentSlide);
2598
+
2599
+ if ( _.touchObject.startX !== _.touchObject.curX ) {
2600
+
2601
+ _.slideHandler( _.currentSlide );
2326
2602
  _.touchObject = {};
2603
+
2327
2604
  }
2605
+
2328
2606
  }
2329
2607
 
2330
2608
  };
@@ -2447,6 +2725,8 @@
2447
2725
  var _ = this,
2448
2726
  touches;
2449
2727
 
2728
+ _.interrupted = true;
2729
+
2450
2730
  if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
2451
2731
  _.touchObject = {};
2452
2732
  return false;
@@ -2574,80 +2854,20 @@
2574
2854
 
2575
2855
  var _ = this;
2576
2856
 
2577
- if (document[_.hidden]) {
2578
- _.paused = true;
2579
- _.autoPlayClear();
2580
- } else {
2581
- if (_.options.autoplay === true) {
2582
- _.paused = false;
2583
- _.autoPlay();
2584
- }
2585
- }
2586
-
2587
- };
2588
- Slick.prototype.initADA = function() {
2589
- var _ = this;
2590
- _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
2591
- 'aria-hidden': 'true',
2592
- 'tabindex': '-1'
2593
- }).find('a, input, button, select').attr({
2594
- 'tabindex': '-1'
2595
- });
2596
-
2597
- _.$slideTrack.attr('role', 'listbox');
2857
+ if ( _.options.autoplay ) {
2598
2858
 
2599
- _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
2600
- $(this).attr({
2601
- 'role': 'option',
2602
- 'aria-describedby': 'slick-slide' + _.instanceUid + i + ''
2603
- });
2604
- });
2859
+ if ( document[_.hidden] ) {
2605
2860
 
2606
- if (_.$dots !== null) {
2607
- _.$dots.attr('role', 'tablist').find('li').each(function(i) {
2608
- $(this).attr({
2609
- 'role': 'presentation',
2610
- 'aria-selected': 'false',
2611
- 'aria-controls': 'navigation' + _.instanceUid + i + '',
2612
- 'id': 'slick-slide' + _.instanceUid + i + ''
2613
- });
2614
- })
2615
- .first().attr('aria-selected', 'true').end()
2616
- .find('button').attr('role', 'button').end()
2617
- .closest('div').attr('role', 'toolbar');
2618
- }
2619
- _.activateADA();
2861
+ _.interrupted = true;
2620
2862
 
2621
- };
2863
+ } else {
2622
2864
 
2623
- Slick.prototype.activateADA = function() {
2624
- var _ = this;
2865
+ _.interrupted = false;
2625
2866
 
2626
- _.$slideTrack.find('.slick-active').attr({
2627
- 'aria-hidden': 'false'
2628
- }).find('a, input, button, select').attr({
2629
- 'tabindex': '0'
2630
- });
2867
+ }
2631
2868
 
2632
- };
2869
+ }
2633
2870
 
2634
- Slick.prototype.focusHandler = function() {
2635
- var _ = this;
2636
- _.$slider.on('focus.slick blur.slick', '*', function(event) {
2637
- event.stopImmediatePropagation();
2638
- var sf = $(this);
2639
- setTimeout(function() {
2640
- if (_.isPlay) {
2641
- if (sf.is(':focus')) {
2642
- _.autoPlayClear();
2643
- _.paused = true;
2644
- } else {
2645
- _.paused = false;
2646
- _.autoPlay();
2647
- }
2648
- }
2649
- }, 0);
2650
- });
2651
2871
  };
2652
2872
 
2653
2873
  $.fn.slick = function() {
@@ -1,3 +1,3 @@
1
1
  module JquerySlickRails
2
- VERSION = "1.5.9.1"
2
+ VERSION = "1.6.0.1"
3
3
  end
@@ -25,3 +25,24 @@ Started GET "/assets/jquery.slick.js" for 127.0.0.1 at 2015-12-02 15:50:13 +0300
25
25
  Served asset /jquery.slick.js - 200 OK (3ms)
26
26
  Started GET "/assets/jquery.slick.js" for 127.0.0.1 at 2015-12-02 15:50:13 +0300
27
27
  Served asset /jquery.slick.js - 200 OK (0ms)
28
+ Started GET "/assets/slick-theme.css" for 127.0.0.1 at 2016-03-25 22:31:57 +0300
29
+ Served asset /slick-theme.css - 200 OK (42ms)
30
+ Started GET "/assets/slick.css" for 127.0.0.1 at 2016-03-25 22:31:57 +0300
31
+ Served asset /slick.css - 200 OK (5ms)
32
+ Started GET "/assets/slick.eot" for 127.0.0.1 at 2016-03-25 22:31:57 +0300
33
+ Served asset /slick.eot - 200 OK (0ms)
34
+ Started GET "/assets/jquery.slick.js" for 127.0.0.1 at 2016-03-25 22:31:57 +0300
35
+ Compiled jquery.slick.js (2ms) (pid 5612)
36
+ Served asset /jquery.slick.js - 200 OK (17ms)
37
+ Started GET "/assets/jquery.slick.js" for 127.0.0.1 at 2016-03-25 22:31:57 +0300
38
+ Served asset /jquery.slick.js - 200 OK (0ms)
39
+ Started GET "/assets/slick-theme.css" for 127.0.0.1 at 2016-03-25 22:32:59 +0300
40
+ Served asset /slick-theme.css - 200 OK (1ms)
41
+ Started GET "/assets/slick.css" for 127.0.0.1 at 2016-03-25 22:32:59 +0300
42
+ Served asset /slick.css - 200 OK (0ms)
43
+ Started GET "/assets/slick.eot" for 127.0.0.1 at 2016-03-25 22:32:59 +0300
44
+ Served asset /slick.eot - 200 OK (1ms)
45
+ Started GET "/assets/jquery.slick.js" for 127.0.0.1 at 2016-03-25 22:32:59 +0300
46
+ Served asset /jquery.slick.js - 200 OK (0ms)
47
+ Started GET "/assets/jquery.slick.js" for 127.0.0.1 at 2016-03-25 22:32:59 +0300
48
+ Served asset /jquery.slick.js - 200 OK (0ms)
@@ -23,6 +23,6 @@ class NavigationTest < ActionDispatch::IntegrationTest
23
23
 
24
24
  test 'slick response is for the expected version' do
25
25
  get '/assets/jquery.slick.js'
26
- assert_match(/Version: 1\.5\.9/, @response.body)
26
+ assert_match(/Version: 1\.6\.0/, @response.body)
27
27
  end
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-slick-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.9.1
4
+ version: 1.6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya Bodrov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-02 00:00:00.000000000 Z
11
+ date: 2016-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.2.12
33
+ version: '3.2'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.2.12
40
+ version: '3.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: test-unit
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '3.1'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '3.1'
55
55
  description: Integrates Slick carousel, a jQuery plugin by Ken Wheeler, into your
56
56
  Rails app.
57
57
  email:
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  requirements: []
122
122
  rubyforge_project:
123
- rubygems_version: 2.5.0
123
+ rubygems_version: 2.6.1
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Integrates Slick carousel into Rails app.
@@ -153,4 +153,3 @@ test_files:
153
153
  - test/integration/navigation_test.rb
154
154
  - test/jquery-slick-rails_test.rb
155
155
  - test/test_helper.rb
156
- has_rdoc: