kaerus-component-slideshow 0.0.12 → 0.0.13

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: 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