kaerus-component-slideshow 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b2b177ae3b9027ad2f42ce55788bf92a50e63359
4
- data.tar.gz: fd45fb2fdc3e33e03836b6a2b74c8bd5821f5a17
3
+ metadata.gz: 4818e037339369aebd2aef3fadfff07ab157129f
4
+ data.tar.gz: 5af561d86b376a94c65a11016a60d83915662dac
5
5
  SHA512:
6
- metadata.gz: ff6839c359de533a3079dc1f081274c304b9024e397b23ac0bba2f53b73785827d2612881060fca6c4cc748d8a6cd5270a94fdad9f2ff1c136ea8536c7086904
7
- data.tar.gz: f3b807e34d12c45f6208952e4afc00504807048c02ba88bdda8cd14050614a858ed9977d607489bb04e4f8491be7dfd4a9221fd77e93d82e1429ae9c00b06a7f
6
+ metadata.gz: 8a6b79cd920d6b07e5d88b3389d77367c7dbe5f30abc64cbf500945a5bd73afbb72be68bd2e1fc14d9c1305cfbe785522207d39e147e5fd30d7a51a0d4cc710e
7
+ data.tar.gz: bf0fcfdff82dbf32e1ac56c20af6067808897fdc5da9c7b88e2558b52bbc133444c1e6210c37570cd162a05e4aac6b41868694de2efff023925d46c54c46a8ef
@@ -1,7 +1,7 @@
1
1
  module Kaerus
2
2
  module Component
3
3
  module Slideshow
4
- VERSION = "0.0.12"
4
+ VERSION = "0.0.13"
5
5
  end
6
6
  end
7
7
  end
@@ -64,6 +64,7 @@ require.aliases = {};
64
64
 
65
65
  require.resolve = function(path) {
66
66
  if (path.charAt(0) === '/') path = path.slice(1);
67
+ var index = path + '/index.js';
67
68
 
68
69
  var paths = [
69
70
  path,
@@ -76,7 +77,10 @@ require.resolve = function(path) {
76
77
  for (var i = 0; i < paths.length; i++) {
77
78
  var path = paths[i];
78
79
  if (require.modules.hasOwnProperty(path)) return path;
79
- if (require.aliases.hasOwnProperty(path)) return require.aliases[path];
80
+ }
81
+
82
+ if (require.aliases.hasOwnProperty(index)) {
83
+ return require.aliases[index];
80
84
  }
81
85
  };
82
86
 
@@ -224,9 +228,9 @@ function Carousel(container,tag) {
224
228
  }
225
229
 
226
230
  /* clone some nodes if we have to few slides */
227
- var min_slides = 3;
231
+ var min_slides = 4;
228
232
 
229
- if(nodes.length === 2) min_slides = 4;
233
+ if(nodes.length === 3) min_slides = 6;
230
234
 
231
235
  for(var i = 0; nodes.length < min_slides; i++){
232
236
  nodes[nodes.length] = nodes[i].cloneNode(true);
@@ -316,6 +320,13 @@ Carousel.prototype.prev = function(){
316
320
  return this;
317
321
  }
318
322
 
323
+ Carousel.prototype.getSlide = function(offset, pos){
324
+ var index = pos !== undefined ? offset : this.index,
325
+ slide = cap(this.slides.length,offset+pos);
326
+
327
+ return this.slides[slide];
328
+ }
329
+
319
330
  Carousel.prototype.transit = function(index,from){
320
331
 
321
332
  clearClass(this.slides,[ACTIVE_SLIDE,NEXT_SLIDE,PREVIOUS_SLIDE]);
@@ -421,10 +432,66 @@ Carousel.prototype.resume = function(skipPauseInterval){
421
432
  }
422
433
 
423
434
  module.exports = Carousel;
435
+ });
436
+ require.register("pgherveou-prefix/index.js", function(exports, require, module){
437
+ // module globals
438
+
439
+ var prefixes = ['webkit','Moz','ms','O']
440
+ , len = prefixes.length
441
+ , p = document.createElement('p')
442
+ , style = p.style
443
+ , capitalize = function (str) {return str.charAt(0).toUpperCase() + str.slice(1);}
444
+ , dasherize = function(str) {
445
+ return str.replace(/([A-Z])/g, function(str,m1) {
446
+ return '-' + m1.toLowerCase();
447
+ });
448
+ };
449
+
450
+ // nullify p to release dom node
451
+ p = null;
452
+
453
+ /**
454
+ * get prefix for dom style
455
+ *
456
+ * example
457
+ * prefix('transform') // webkitTransform
458
+ * prefix('transform', true) // -webkit-transform
459
+ *
460
+ * @param {String} ppty dom style
461
+ * @param {Boolean} dasherize
462
+ * @return {String} prefixed ppty
463
+ * @api public
464
+ */
465
+
466
+ module.exports = function(ppty, dasherized) {
467
+ var Ppty, name, Name;
468
+
469
+ // test without prefix
470
+ if (style[ppty] !== undefined) {
471
+ if (!dasherized) return ppty;
472
+ return dasherize(ppty);
473
+ }
474
+
475
+ // test with prefix
476
+ Ppty = capitalize(ppty);
477
+ for (i = 0; i < len; i++) {
478
+ name = prefixes[i] + Ppty;
479
+ if (style[name] !== undefined) {
480
+ if (!dasherized) return name;
481
+ return '-' + prefixes[i].toLowerCase() + '-' + dasherize(ppty);
482
+ }
483
+ }
484
+
485
+ // not found return empty string
486
+ return '';
487
+ };
488
+
424
489
  });
425
490
  require.register("slideshow/index.js", function(exports, require, module){
426
491
  var Carousel = require('carousel'),
427
- template = require('./template');
492
+ template = require('./template'),
493
+ Prefix = require('prefix'),
494
+ prefixProp = {};
428
495
 
429
496
  function Slideshow(container,options){
430
497
  if(!(this instanceof Slideshow))
@@ -441,12 +508,15 @@ function Slideshow(container,options){
441
508
  next:'&rang;',
442
509
  prev:'&lang;',
443
510
  time: 4000,
444
- transition: ['all','1s'],
511
+ transition: ['all','1s', 'linear'],
445
512
  beforeTransit: undefined,
446
513
  afterTransit: undefined
447
514
  };
448
515
 
449
- mergeOptions(this.settings,options);
516
+ for(var key in options) {
517
+ if(options.hasOwnProperty(key))
518
+ this.settings[key] = options[key];
519
+ }
450
520
 
451
521
  Object.defineProperty(this,'paused',{
452
522
  get: function() {
@@ -457,7 +527,8 @@ function Slideshow(container,options){
457
527
  this.init(container);
458
528
  }
459
529
 
460
- Slideshow.prototype = {
530
+ (function(){
531
+ Slideshow.prototype = {
461
532
  init: function(container,options){
462
533
  var settings = this.settings,
463
534
  id = settings.id,
@@ -492,6 +563,9 @@ Slideshow.prototype = {
492
563
  if(!container.className) container.className = 'slideshow';
493
564
  else container.className+= ' slideshow';
494
565
 
566
+ settings.height = container.clientHeight;
567
+ settings.width = container.clientWidth;
568
+
495
569
  /* create newcarousel instance */
496
570
  this.carousel = new Carousel(id+'-slides');
497
571
 
@@ -545,12 +619,7 @@ Slideshow.prototype = {
545
619
 
546
620
  return this;
547
621
  }
548
- }
549
-
550
-
551
- var transitionProp = ['webkitTransition','mozTransition','msTransition','oTransition'],
552
- transitionEndEvents = ['transitionend', 'webkitTransitionEnd', 'otransitionend'],
553
- transformProp = ['webkitTransform','mozTransform','msTransform','oTransform'];
622
+ }
554
623
 
555
624
 
556
625
  function attachHandlers(slideshow){
@@ -582,13 +651,9 @@ Slideshow.prototype = {
582
651
  if(typeof elem === 'string')
583
652
  elem = document.getElementById(elem);
584
653
 
585
- if(!elem) return;
586
-
587
- if(Array.isArray(prop)){
588
- prop = getStyleProperty(prop);
589
- }
654
+ if(!elem || !prop) return;
590
655
 
591
- if(!prop) return;
656
+ prop = getStyleProperty(prop,true);
592
657
 
593
658
  if(Array.isArray(elem)){
594
659
  for(var i = 0, l = elem.length; i < l; i++)
@@ -646,7 +711,9 @@ Slideshow.prototype = {
646
711
  beforeTransit = settings.beforeTransit,
647
712
  afterTransit = settings.afterTransit,
648
713
  dots = nav.getElementsByTagName('li'),
649
- ix, fx, lx = dots.length;
714
+ ix, fx, lx = dots.length,
715
+ prev, next, show,
716
+ width = slideshow.width;
650
717
 
651
718
  slideshow.carousel.onChange = function(index,from){
652
719
  ix = index % lx;
@@ -667,6 +734,22 @@ Slideshow.prototype = {
667
734
 
668
735
  dots[ix].className = "active dot";
669
736
 
737
+ prev = slideshow.carousel.getSlide(from,-1);
738
+ next = slideshow.carousel.getSlide(from,1);
739
+ show = slideshow.carousel.getSlide(from,0);
740
+
741
+ applyStyle(prev,'transform','translate3d(0, 0, 0)');
742
+ applyStyle(next,'transform','translate3d(0, 0, 0)');
743
+ applyStyle(show,'transform','translate3d(0, 0, 0)');
744
+
745
+ prev = slideshow.carousel.getSlide(index,-1);
746
+ next = slideshow.carousel.getSlide(index,1);
747
+ show = slideshow.carousel.getSlide(index,0);
748
+
749
+ applyStyle(prev,'transform','translate3d(-' + settings.width + 'px, 0, 0)');
750
+ applyStyle(next,'transform','translate3d(' + settings.width + 'px, 0, 0)');
751
+ applyStyle(show,'transform','translate3d(0, 0, 0)');
752
+
670
753
  slideshow.carousel.transit(index,from);
671
754
  }
672
755
 
@@ -681,7 +764,8 @@ Slideshow.prototype = {
681
764
  }
682
765
  }
683
766
 
684
- applyStyle(elems,transitionProp,transition);
767
+ applyStyle(elems,'transition',transition);
768
+ applyStyle(elems,'transform','translate3d(0, 0, 0)');
685
769
  }
686
770
 
687
771
  function addTransitionEndHandler(elem){
@@ -705,36 +789,21 @@ Slideshow.prototype = {
705
789
 
706
790
  }
707
791
 
708
- transitionProp = getStyleProperty(transitionProp);
709
- transformProp = getStyleProperty(transformProp);
710
-
711
- function getStyleProperty(props){
712
- var root = document.documentElement,
713
- prop;
792
+ function getStyleProperty(prop){
793
+ if(!prefixProp.hasOwnProperty(prop))
794
+ prefixProp[prop] = Prefix(prop,true);
714
795
 
715
- prop = props.filter(function(p){
716
- return p in root.style
717
- });
718
-
719
- return prop[0]
796
+ return prefixProp[prop];
720
797
  }
721
798
 
722
799
  function hasTransitionEndEvent(){
723
- var hasTev;
800
+ var transitionEndEvents = ['transitionend', 'webkitTransitionEnd', 'otransitionend'], e;
724
801
 
725
- hasTev = transitionEndEvents.filter(function(m){
802
+ e = transitionEndEvents.filter(function(m){
726
803
  return ('on'+m.toLowerCase()) in window
727
804
  });
728
805
 
729
- return hasTev[0];
730
- }
731
-
732
- function mergeOptions(target,source){
733
- for(var key in source) {
734
- target[key] = source[key];
735
- }
736
-
737
- return target;
806
+ return e[0];
738
807
  }
739
808
 
740
809
  function addEvent(el,ev,fn,cap){
@@ -746,7 +815,7 @@ Slideshow.prototype = {
746
815
 
747
816
  return el;
748
817
  }
749
-
818
+ }());
750
819
 
751
820
  module.exports = Slideshow;
752
821
  });
@@ -755,6 +824,12 @@ module.exports = '<div class="slides" id="{id}-slides">{slides}</div>\n<div clas
755
824
  });
756
825
  require.alias("kaerus-component-carousel/index.js", "slideshow/deps/carousel/index.js");
757
826
  require.alias("kaerus-component-carousel/index.js", "carousel/index.js");
827
+
828
+ require.alias("pgherveou-prefix/index.js", "slideshow/deps/prefix/index.js");
829
+ require.alias("pgherveou-prefix/index.js", "slideshow/deps/prefix/index.js");
830
+ require.alias("pgherveou-prefix/index.js", "prefix/index.js");
831
+ require.alias("pgherveou-prefix/index.js", "pgherveou-prefix/index.js");
832
+
758
833
  if (typeof exports == "object") {
759
834
  module.exports = require("slideshow");
760
835
  } else if (typeof define == "function" && define.amd) {
@@ -81,13 +81,13 @@
81
81
  .slideshow .slides .slide{
82
82
  position: absolute;
83
83
  overflow: hidden;
84
+ display: none;
84
85
  width: 100%;
85
86
  height: 100%;
86
87
  padding: 0;
87
88
  margin: 0;
88
89
  top: 0;
89
90
  left: 0;
90
- z-index: 0;
91
91
  }
92
92
 
93
93
  .slideshow .slides .slide img {
@@ -100,27 +100,10 @@
100
100
  display: block;
101
101
  left: 2em;
102
102
  top: 2em;
103
- z-index: 9999;
104
103
  }
105
104
 
106
-
107
105
  .slideshow .slides .slide.prev,
108
106
  .slideshow .slides .slide.next,
109
107
  .slideshow .slides .slide.show {
110
108
  display: block;
111
- }
112
-
113
- .slideshow .slides .slide.prev {
114
- left: -100%;
115
- z-index: 10;
116
- }
117
-
118
- .slideshow .slides .slide.next {
119
- left: 100%;
120
- z-index: 10;
121
- }
122
-
123
- .slideshow .slides .slide.show {
124
- left: 0;
125
- z-index: 9999;
126
109
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaerus-component-slideshow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anders Elo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-12 00:00:00.000000000 Z
11
+ date: 2013-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  version: '0'
84
84
  requirements: []
85
85
  rubyforge_project:
86
- rubygems_version: 2.0.0
86
+ rubygems_version: 2.0.3
87
87
  signing_key:
88
88
  specification_version: 4
89
89
  summary: Created as a component.js module